Why We Bet on Next.js for Every Client Project
After building 50+ production apps, here's why Next.js remains our go-to framework for client work — and when we don't use it.
Next.js has been our default framework for client projects for over three years. In that time, we've shipped 50+ production applications — from high-traffic e-commerce platforms to complex SaaS dashboards. Here's what we've learned.
The Case for Next.js
The App Router, introduced in Next.js 13 and matured through versions 14 and 15, fundamentally changed how we think about React applications. Server Components eliminate the waterfall problem that plagues traditional SPAs. Data fetching happens where it should — on the server, close to the database.
When We Don't Use Next.js
For content-heavy marketing sites where we need 98-100 PageSpeed scores, we reach for Astro. For highly interactive real-time applications (like collaborative editors), a Vite + React setup with WebSockets gives us more control.
The Bottom Line
Next.js isn't perfect, but it's the best default choice for 80% of the projects we encounter. The ecosystem, the deployment story (Vercel), and the developer experience make it a reliable foundation for production software.