Next.js App Router: The Pages Router Migration I Finally Finished
I finally moved a production app from the Next.js Pages Router to the App Router. The real data-fetching and layout rewrite, plus what annoyed me.
I finally moved a production app from the Next.js Pages Router to the App Router. The real data-fetching and layout rewrite, plus what annoyed me.
How I replaced hand-rolled optimistic UI code with React 19's useOptimistic hook. Real patterns, gotchas from two weeks of production, and when to skip it.
I moved my marketing site from Next.js to Astro islands and cut the JavaScript bundle by 91%. Here's the partial hydration setup I actually ship…
After two years shipping both Zustand and Redux Toolkit in React apps, here's how I actually decide, plus the migration path most teams miss.
I moved a Next.js app from Tailwind v3 to v4 on a Sunday. Here's what the @theme block, the Oxide engine, and the one migration…
I turned on the React Compiler in a real Next.js app, deleted a pile of useMemo and useCallback, and watched what broke. Honest field notes…
CSS Subgrid finally solved my card-grid alignment problem without JavaScript. Here's the before/after code I use in production, plus what still breaks.
htmx or React in 2026? After shipping both, here's when I reach for htmx, when I stay on React, and why the online essays get…
The React 19 use() hook quietly replaced my useEffect+useState fetch dance and my useContext guards. Here's what works, where it breaks, and how I ship…
I spent three years faking a CSS parent selector with useEffect and MutationObserver. Then :has() shipped everywhere. Here's what I deleted and what stayed.