The PR that deleted 12,000 lines of API routes In April 2025, I merged a PR that removed 12,387 lines of /api route handlers, tRPC procedures, and useMutation hooks. We replaced all of it with React 19 Server Actions on Next.js 15.4. Twelve months later, with 4 million monthly active users on the platform, I have a clear-eyed view of what that decision bought us and what it cost. Short version: I would do it again. With caveats. What Server Actions actually are Server Actions, finalized in React 19 (December 2024), let you call a server function directly from a client component as if it were local. You annotate a function with "use server" , import it, and call it. React handles the network, serialization, and revalidation. " use server " ; export async function updateProfile ( formData : FormData ) { const name = formData . get ( " name " ) as string ; await db . user .…