Why I Build with Next.js
There are plenty of frameworks to build web applications. I keep coming back to Next.js because it gives me the right constraints.
Server Components by Default
React Server Components mean less JavaScript shipped to the client. I can fetch data on the server, render HTML, and send it down without extra loading work for the browser. The result is faster pages and simpler code.
File-Based Routing
Creating a new page is just adding a file. No config, no route definitions. The filesystem is the routing table, and that mental model scales from a portfolio site to a full product.
Zero-Config Deployment
Push to GitHub, connect to Vercel, and the site is live. No build scripts, no environment headaches. I spend time on the product, not the infrastructure.
The Ecosystem
From image optimization to API routes to middleware — Next.js ships the features I actually need. And when I need something custom, the flexibility is there without fighting the framework.
Next.js isn't perfect, but it's the best set of tradeoffs I've found for the kind of work I do.