Saltar al contenido principal
All notes
2026 · 05 · 7 min

Server Actions in production: where they hold up and where they don't

Server Actions are great for forms and one-off mutations. They fall down on long-running work, multi-step flows, and anywhere you need progressive enhancement to actually work without JS.

Server Actions feel like the future when you write them. One file, no API route, type-safe end-to-end. After two years of shipping them I have a clearer picture of where the abstraction earns its keep and where it leaks.

Where they win: form submissions with simple validation, optimistic UI for likes/saves/comments, anything where the round-trip is tight and the failure mode is local. The DX is better than tRPC for these cases. Use them.

Where they break: long-running jobs (use a queue), multi-step wizards (the redirect-on-success pattern collapses), anywhere you need real progressive enhancement (the `<form action={fn}>` works but the recovery story is rough). For those, an explicit API route is still the answer.

WRITTEN BY
Ibrahim Aly
SENIOR FS ENGINEER · BERLIN ↔ CAIRO