Hello Fellows,
Today, I came across a post that went a bit viral, claiming that Next.js is broken. And while I understand the frustration behind such takes, I simply can’t agree, because for us, it works.
We’ve been using Next.js for six, almost seven years now, and it has carried us from small beginnings to nearly 200k lines of code without breaking down.
Sure, there are interesting competitors out there, Vite being the most prominent one. And yes, Vite is modern, fast, and flexible. But here’s the thing: flexibility always comes with responsibility. The more control you take, the more liability you own. Over time, that often turns into chaos, with different developers, different generations of teams, and shifting ideas. Suddenly, the codebase becomes harder to hold together.
Next.js, on the other hand, gives you guardrails. It’s opinionated. And that’s precisely why we stick with it. Developers who move between companies can get into the flow quickly. We don’t waste years reinventing the foundation—we focus on building value. And in the end, that’s what matters: the product, not the framework.
Do I think Vite is bad? Not at all. For CSR-heavy apps with strong tech leadership, Vite might even be the better pick. But for us, with SSR requirements, React Server Components, and a massive codebase, Next.js remains the solid choice. It scales. It evolves. And most importantly, it hasn’t disappointed us once in all these years.
That’s why we’re still here with Next.js.
—Adrian
Watch it on YouTube:
Share this post