Server Components, BFFs, and the Backend Illusion
Modern web development has a funny habit of blurring lines that should never be blurred. Tools get better, abstractions get smoother, and suddenly people start asking dangerous questions like, “Do we even need a backend anymore?” If you’ve worked with Next.js recently, especially React Server Components and Server Actions, you’ve probably felt this confusion firsthand. Things run on the server. Secrets stay hidden. APIs do not appear in the browser network tab. It *feels* like a backend. That feeling is where architectural mistakes are born. This article is for software engineers, senior backend engineers, frontend developers, system designers, and architects who want clarity instead of cargo culting. We’re going to cut through the illusion, define where Next.js fits, explain what a Backend For Frontend (BFF) actually is, and lay out when to choose a BFF, a monolith, or microservices without ideology.