Next.js Partial Prerendering: Six Months in Production
What I actually figured out about Next.js Partial Prerendering after six months in production. The patterns where it earned its place, and where I avoided…
What I actually figured out about Next.js Partial Prerendering after six months in production. The patterns where it earned its place, and where I avoided…
Six weeks with useActionState in React 19: where it kills useReducer, the error-handling pattern I use, and when I still reach for the old way.
I replaced Redux Toolkit with Zustand on two React apps and stopped on a third. Here are the patterns I actually use and when Redux…
Six years of React, written from the bruises. When each hook actually earns its keep, and the times I reached for one and made things…
I rewrote our admin panel in htmx and kept our dashboard in React. Here's how the two compare in 2026, with code, gotchas, and when…
Valibot's bundle size win is real, but switching from Zod cost me more than I expected. Here's what I migrated, what I didn't, and why…
I deleted tailwind.config.js six months ago and moved every theme variable into CSS. Here's what changed about my workflow, and where the new approach still…
Six Next.js server actions mistakes I shipped to production: trusting the client, missing revalidatePath, throwing errors wrong. With code fixes for each.
I shipped a refund bug that branded types would have caught. Here is how I use TypeScript branded types for IDs, money, and validated input,…
Six months after React 19 went stable, here are the features I actually use day to day, the ones I forget exist, and the ones…