2026-05-20
Next.js has been my go-to framework for the past couple of years, and for good reason. It takes the best parts of React and layers on just enough convention to make shipping fast without thinking too hard.
The App Router (introduced in Next 13) finally makes data fetching feel natural in React. You write server components by default, which means less JavaScript shipped to the browser and simpler code for things like reading from a database or filesystem.
// This runs on the server — no useEffect, no loading state
export default async function Page() {
const data = await fetch("https://api.example.com/data");
return <div>{data}</div>;
}
Most of my side projects start as a Next.js app. It handles routing, API routes, image optimization, and deployment (via Vercel) in one package. This portfolio site you're reading is built with it.
npx create-next-app@latest my-app
cd my-app
npm run dev
That's genuinely it. From there you get a working dev server with hot reload, TypeScript support, and Tailwind ready to configure.
If you're building something for the web and you know React, give Next.js a try.