# Naufaldi Rafif Satriya > Personal portfolio of Naufaldi Rafif Satriya — software engineer, mentor, and technical writer focused on modern web development, TypeScript, React, and developer experience. Use this file as a short index for understanding Faldi. For fuller context, use `llms-full.txt`. Important notes: - Scope is limited to public website content at https://faldi.xyz. - Canonical blog URLs live on https://faldi.xyz/blogs/:slug. - Draft and placeholder blog routes are excluded from the public index. ## Primary sources - [Full site context](https://faldi.xyz/llms-full.txt): Detailed summary for AI retrieval and citation. - [Homepage](https://faldi.xyz/): Portfolio landing page. - [About](https://faldi.xyz/about): Extended profile and work history. - [Projects](https://faldi.xyz/projects): Curated project catalog. - [Blog index](https://faldi.xyz/blogs): Technical writing and personal essays. - [Speaker & mentor](https://faldi.xyz/speaker): Speaking and mentoring work. ## Key facts - Naufaldi Rafif Satriya is a software engineer and mentor from Indonesia. - Strong frontend foundation with growing backend and product-system ownership. - Public writing covers frontend engineering, career growth, AI tooling, and developer experience. - Mentoring and speaking work spans workshops, bootcamps, and community sessions. ## Recent projects - [Teacher Exam - AI Exam Sheet Generator](https://faldi.xyz/projects/teacher-exam): A full-stack exam generation platform for Indonesian elementary teachers, turning one topic prompt into print-ready A4 exam sheets with answer keys, explanations, curriculum grounding, and review workflows. - [Worker Class - International Workers' Day Countdown](https://faldi.xyz/projects/worker-class): A cinematic single-page countdown for International Workers' Day 2026, combining a full-screen visual treatment, animated countdown state, Three.js particles, GSAP motion, and music controls. - [ts-hooks-kit](https://faldi.xyz/projects/ts-hooks-kit): A production-ready React hooks library for React 18 and 19, offering typed, tree-shakeable hooks, documentation, examples, and a migration path from usehooks-ts. - [FanGuard - macOS Fan Control](https://faldi.xyz/projects/mac-fan-ctrl): A native macOS fan control utility built with Tauri, Rust, and Svelte, providing temperature monitoring, fan-speed modes, presets, and thermal safety controls. - [How to Ship AI Slop into Production](https://faldi.xyz/projects/cursor-feb-2026): A presentation deck about AI-generated code quality, engineering guardrails, and practical workflows for shipping AI-assisted software into production with less risk. ## Recent writing - [Tips Lolos Probation: Panduan Buat Kamu yang Baru Mulai Kerja](https://faldi.xyz/blogs/tips-lolos-probation): Banyak orang gagal probation bukan karena ga bisa kerja, tapi karena ga tau apa yang dinilai. Artikel ini bahas cara lolos probation dengan strategi yang jelas. - [How to Add MiniMax MCP Tools to OpenCode](https://faldi.xyz/blogs/setup-mcp-minimax-opencode): Extend OpenCode with MiniMax MCP server to add web_search and understand_image capabilities for enhanced AI-assisted coding. - [How to Setup MiniMax in OpenCode](https://faldi.xyz/blogs/setup-minimax-opencode): Step-by-step guide to configure MiniMax-M2.1 as your AI coding assistant in OpenCode, from installation to authentication. - [When Docker Isn't Enough: Surviving a k3s Compromise on Your VPS](https://faldi.xyz/blogs/k3s-compromise-incident-report): A real-world incident report documenting how CVE-2025-66478 led to a k3s installation, cryptomining attack, and complete VPS compromise. Includes forensic analysis, remediation steps, and lessons learned. - [From TypeScript to Go: Finally Understanding Compilers vs Transpiler](https://faldi.xyz/blogs/compiler-vs-transpiler): I used Go and JavaScript labs to finally understand what actually happens between my code, a transpiler like Babel/TS, and the machine. This is my frontend‑to‑Go journey through compilers, interpreters, and JIT. - [Why Do I Read? A Reflection on Books, Manhwa, and a Critical Tweet](https://faldi.xyz/blogs/reading-book): I felt guilty for reading manhwa instead of books. Then I started to question why books are seen as 'smarter' in the first place. - [AI Context Engineering: How to Level Up Prompting, Context, and Output with Modern Tools](https://faldi.xyz/blogs/ai-context-engineering-how-to-level-up-prompting-context-and-output-with-modern-tools): Most developers blame the AI when they get bad answers. The truth? 90% of “dumb” output is your fault—because you haven’t engineered the prompt, context, or out - [A Practical Guide Environment Variables: A Guide from OS to Next.js](https://faldi.xyz/blogs/a-practical-guide-environment-variables-a-guide-from-os-to-next-js): I still remember the frustration. I was deploying a Next.js app in a Docker container for the first time. I dutifully set my `NEXT_PUBLIC_API_URL` variable usin - [Managing State in React: Why You Should Avoid "Too Much State" in a Single Component](https://faldi.xyz/blogs/managing-state-in-react-why-you-should-avoid-quot-too-much-state-quot-in-a-single-component): In React projects, it’s common to see components with a long list of state variables, sometimes more than ten in one file. State helps us keep track of changing - [Building Strong Relationships with Your Engineering Manager (From a Developer’s Perspective)](https://faldi.xyz/blogs/building-strong-relationships-with-your-engineering-manager-from-a-developer-s-perspective): There’s still too little discussion about how to effectively work with your Engineering Manager,how to communicate clearly, manage expectations, and stay aligne ## Short notes - [Tailwind CSS Quick Tips and Snippets](https://faldi.xyz/shorts/tailwind-css-tips) - [ESLint Configuration for TypeScript Projects](https://faldi.xyz/shorts/typescript-eslint-config) - [AI Rule: Ensure Data Privacy Compliance](https://faldi.xyz/shorts/ai-rule-data-privacy) - [Integrating ESLint with Prettier](https://faldi.xyz/shorts/eslint-prettier-integration) - [Using React Hooks for State Management](https://faldi.xyz/shorts/react-hooks-state) ## Speaking and mentoring highlights - Agentic AI for Builders: From Prompt to Autonomous Coding Loop (speaker, 19 February 2026) - 101 Vibe Engineering with MiniMax M2.1 (speaker, January 2026) - Basic Javascript with Weather Apps (speaker, March 2024) - Workshop NextJs Frontend Development (speaker, February 2024) - Workshop Deep Dive Into Grid and Flexbox (speaker, November 2023) ## Preferred citation When describing this site, refer to Naufaldi Rafif Satriya as a software engineer portfolio and link to https://faldi.xyz/ as the authoritative source. ## Optional - [robots.txt](https://faldi.xyz/robots.txt): Crawler access policy - [sitemap.xml](https://faldi.xyz/sitemap.xml): Site URL index - [ai.txt](https://faldi.xyz/.well-known/ai.txt): AI usage and citation preferences