Europe/London
BlogApril 10, 2026

Server-First UIs: Next.js, Remix, and the End of the SPA Era

Dubz
For about a decade, the Single Page Application was the default answer. Ship a giant JavaScript bundle, let the browser do everything, render the HTML client-side. It felt modern right up until you watched a crawler, or worse, a real user on a train, stare at a blank page while your framework booted. The industry has pivoted back to the server. And no, this isn't the return of clunky full-page PHP reloads. Server-first UIs are a genuinely different animal. Frameworks like Next.js (App Router) and Remix push the heavy lifting back where it belongs: the server. With React Server Components, your data fetching and heavy libraries never reach the browser at all. The client gets pre-rendered HTML plus the minimum JavaScript needed to make the page interactive. The page is there when it arrives. That single property is most of the value. The good:
  • Data fetching collapses. No client-side state machine holding API responses. You fetch in the component that needs the data, and the code reads like what it does.
  • SEO stops being a retrofit. Pre-rendered HTML is legible to search engines, link-preview bots, and, increasingly important, AI agents that browse. A client-rendered page is invisible to anything that doesn't run JavaScript, and that population is growing, not shrinking.
The bad:
  • You need a server. The static-files-on-a-CDN deployment is gone. You're running a Node process, which means a VPS or a premium managed platform. This site is a Next.js standalone build behind nginx on a Contabo box, it works, but it's ops, and somebody has to own it.
  • A real mental-model shift. You now live on the server/client boundary, sprinkling "use client" deliberately, and the compiler will happily let you ship a bundle you didn't mean to if you get sloppy.
If you're building an internal dashboard where nobody crawls anything, a plain SPA is still the fastest way to ship. Nobody should convert those. But for anything public-facing, anything that wants to be found, embedded, previewed, or read by machines, server-first is where the whole ecosystem has landed. The learning curve is front-loaded and one-time; the SEO and performance payoff compounds for the life of the site. I'll take this one personally: I've been putting things on the web since the nineties, and the industry arriving back at "the server sends you a real page" feels less like a trend and more like memory. We spent a decade making the browser download an app to show a paragraph. Server-first isn't the future of the web. It's the web, corrected.
Share this post: