Next.js Mastery Path¶
React gives you components. It does not tell you how a URL becomes a page, where data
should be fetched, how HTML gets to the browser before JavaScript does, how a form
submission reaches your database, or how the whole thing is built and served in
production. Next.js is a framework that answers those questions with a set of
conventions — folders become routes, special files become loading and error states,
components run on the server by default, and a function marked "use server" becomes
an endpoint your form can call. This course teaches those conventions and, more
importantly, the machinery underneath them, so you can reason about what your app is
doing instead of memorising which file name to use.
The course targets Next.js 16 (the version on npm while it was written was 16.3.6, with React 19.2) and uses the App Router throughout. The older Pages Router appears only where it helps explain a design decision or a migration. Level 1 covers what Next.js adds to React, project structure, file-based routing, layouts, navigation, the Server/Client Component split, styling, images, fonts, metadata and fetching data on the server — ending with a statically generated blog. Level 2 makes the app full-stack: dynamic routes, loading and error UI, Server Actions and forms, caching and revalidation, Route Handlers, Proxy (the file formerly called Middleware), authentication, a real database through an ORM, and URL state — ending with a task manager backed by SQLite. Level 3 goes deep on rendering strategies, streaming, parallel and intercepting routes, internationalisation, SEO, Core Web Vitals, testing and security. Level 4 is about running Next.js for real: deployment on managed platforms and on your own Node server or container, runtimes, monorepos, observability, large-app architecture, upgrades and codemods, accessibility, static export and a production readiness review, finishing with a capstone.
Every lesson has a How It Actually Works section — why a Server Component can
await a database but cannot use useState, what the RSC payload is, why a
loading.tsx file changes the HTTP status your 404 page returns, how a Server Action
is really a POST to an ID the compiler generated, why a revalidatePath call does not
rebuild anything until someone visits.
Verified against a real build — and honest about what moves
Code in this course was written for Next.js 16 and the key examples (routing,
dynamic routes, metadata, Server Actions with useActionState, Route Handlers,
Proxy, Drizzle + SQLite, parallel and intercepting routes, i18n, streaming,
Cache Components, Vitest and Playwright tests, standalone output) were compiled
with next build and exercised with next start while writing. Terminal output
shown on these pages is output we actually observed. Next.js changes quickly —
caching in particular was redesigned between versions 14, 15 and 16 — so lessons
say which behaviour belongs to which version, and flag anything experimental.
When in doubt, the docs bundled with your installed version
(node_modules/next/dist/docs/) are the authority.
How the program is organized¶
| Level | Focus | Modules |
|---|---|---|
| Level 1 · Entry | What Next.js adds, create-next-app, file-based routing & layouts, Link & navigation, Server vs Client Components, styling, images/fonts/metadata, static assets, server-side data fetching | 9 topics + 1 project (a statically generated Markdown blog) |
| Level 2 · Intermediate | Dynamic routes, loading/error/not-found UI, Server Actions & forms, caching & revalidation, Route Handlers, Proxy, authentication, databases with Drizzle, URL state | 9 topics + 1 project (a full-stack task manager on SQLite) |
| Level 3 · Advanced | Rendering strategies & Partial Prerendering, Suspense & streaming, parallel & intercepting routes, i18n, SEO, Core Web Vitals, Vitest & Playwright, security, client-side data | 9 topics + 1 project (a streaming analytics dashboard) |
| Level 4 · Master | Managed vs self-hosted deployment, Node.js vs Edge runtime, monorepos, observability, large-app architecture, upgrades & codemods, accessibility, static export & CDNs, production readiness | 9 topics + 1 capstone (a production-grade Next.js app) |
How to use this site¶
- Keep one project open. Scaffold an app in lesson 02 of Level 1 and keep adding to
it. Code blocks titled with a path (
app/blog/[slug]/page.tsx,db/schema.ts) show exactly where each file lives, because in Next.js the path is part of the code. - Run
next build, not justnext dev. Development mode renders everything on demand; the production build is where you see which routes are static, which are dynamic, and which prerender errors you have. Many lessons ask you to read the build output's route table. - Know React first. This course assumes you can write function components, use props, state and effects. If not, start with React Mastery Path, which also gives an overview of React Server Components that this course builds on. For the language, see TypeScript Mastery Path; for the server runtime underneath Next.js, see Node.js Mastery Path; for deeper end-to-end testing, see Playwright Mastery Path; for containers, see Docker Mastery Path.
- Do the Exercise at the end of each lesson; the module-10 projects reuse them.
Start here → Level 1 · Entry
🎥 Prefer video? Watch the Mastery Path video series on YouTube — Shorts and full walkthroughs of lessons across the series.
More from the Mastery Path series¶
Free, structured, module-wise training across 72 other languages, platforms and disciplines:
Languages
Web Frameworks
Testing & QA
Security
Cloud Platforms
Data & Analytics
AI / ML / LLM
Embedded Systems
Leadership & Management
Professional Skills
Careers & Interviews
Process & APIs
Infrastructure & Ops