We’ve now shipped several production apps on the Next.js App Router. It’s genuinely good — but it rewards teams that understand its mental model and punishes those who fight it.
What we love
Server Components are a real shift. Moving data-fetching to the server by default eliminates entire categories of client-side waterfalls and shrinks bundles.
The sharp edges
Caching is powerful and surprising. The defaults are aggressive, and debugging stale data means truly understanding the four caching layers. Budget time to learn them.
Our recommendation
Use it — but invest a week up front in understanding caching and the server/client boundary. That week pays for itself many times over.