Writing
Blog
Notes on building products, engineering craft, and the occasional deep-dive.
SSR vs SSG vs ISR in Next.js — When to Use What (With Real Examples)
A practical decision framework for choosing between Server-Side Rendering (SSR), Static Site Generation (SSG), and Incremental Static Regeneration (ISR) in Next.js — backed by real production lessons from Breville, CAFU, Rabbit Care, and Eyewa.
Next.js App Router Blog with Sanity (SSR): A Beginner-Friendly Build + Caching Explained
Build a clean `/blog` + `/blog/[slug]` on Next.js App Router with Sanity, understand caching (Sanity CDN vs Next.js Data Cache), add SEO with `generateMetadata`, and wire a webhook to `revalidatePath` for instant updates.
React Native New Architecture: A Practical Migration Guide
A real-world RN 0.79+ migration story: enabling the New Architecture, shipping bridgeless via staged rollout, and surviving Fabric + list + navigation gotchas—plus a checklist you can actually follow.
Next.js App Router: Server Components vs Client Components — The Mental Model You Need
The "use client" boundary is the #1 confusion point for developers migrating to the Next.js App Router. This post gives you the mental model, the data-fetching patterns, and the common mistakes — so you stop guessing where to put the directive and start making confident architecture decisions.
APR 13, 2026