Next.js Server Actions: The API Routes I Deleted in Production
I moved nearly every mutation in two production Next.js apps onto Server Actions. Here is what got deleted, what useActionState fixed, and what still bites.
I moved nearly every mutation in two production Next.js apps onto Server Actions. Here is what got deleted, what useActionState fixed, and what still bites.
I shipped the same marketing site in Next.js and then in Astro, then kept score. Here's when I actually reach for each, with bundle numbers…
I shipped chat UIs the hard way before Vercel AI SDK existed. Here's what useChat, streamText, and tools v5 actually replaced in my production apps.
Pages Router in Next.js isn't legacy in 2026. Here's when I still reach for it instead of App Router on real production projects, with code…
Eight months running React Server Components in production. The boundary patterns that worked, the bugs I shipped, and when I still pick client components.
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…
Honest take on Drizzle vs Prisma after running both in production. When I switched my Next.js project, when Prisma still wins, and what tripped me…
Six Next.js server actions mistakes I shipped to production: trusting the client, missing revalidatePath, throwing errors wrong. With code fixes for each.
I migrated a Next.js chat endpoint from the raw OpenAI SDK to Vercel AI SDK v5. Here's the before/after code, where it wins, and where…
The Next.js App Router and Pages Router aren't just different file structures — they're different mental models. Here's what changes and what trips you up…