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.
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 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…
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…
How I stopped writing Next.js API routes for mutations, what Server Actions actually replaced, the bugs they caused me, and where I still keep API…
I rebuilt a side project on TanStack Start after rage-quitting Next.js. Here's where Start fits my brain better, and where Next.js still wins for me.
Six months of React Suspense in production: where I reach for it, where I don't, and the gotchas I wish I'd known before I started…
React Query vs SWR in 2026, picked by use case, not by feature checklist. I walk through cache model, mutations, Next.js fit, and my actual…
React 19's useOptimistic hook replaced my hand-rolled optimistic UI: instant likes and messages with automatic rollback. Here's how I use it, with code.