New: Roadmaps ordered paths through our cheat sheets and flashcards, so you always know what to study next.
Explore themSee what's new on GitHubFrom your first typed component to a deployed Next.js app.
A 13-step learning path. Follow it in order, or jump to what you need.
This path is for developers who already write HTML, CSS, and JavaScript and want to go deep on React itself, not learn the web from scratch. Plan on about 6 weeks at a few hours a week to work through it. It does not cover HTML, CSS, or JavaScript fundamentals (the Frontend Developer path starts there) and it stops short of building a backend from scratch (that is Full Stack Developer's territory); this path stays inside the React ecosystem and goes further into it than either. By the end you can build typed, tested React components, wire up client-side routing and live data with TanStack Query, and ship a production Next.js app to a live URL on Vercel.
Expected: comfortable with HTML, CSS, and core JavaScript syntax and functions. Helpful but not required: a first look at Git.
Build your first interactive component today: you'll write JSX, manage state with useState, and see React's core hooks in one sitting, before anything else in this path builds on it.
Give the props and hooks from step 1 real shapes: interfaces catch a mistyped prop before your browser ever does.
Turn the basic form patterns from step 1 into something a real app can ship: react-hook-form and Zod validate every field with the types you defined in step 2.
You can build a typed React component with real form validation, not just markup that reacts to clicks. Next up: making state travel across your whole app.
Finish this section to unlock.
+100 XP
Move data that step 1's local state can't reach: Zustand and Jotai let two distant components share one source of truth without prop drilling.
Split your typed components from step 2 across real URLs: loaders and actions fetch and save data right inside the route itself.
This is where the useEffect data fetching from step 1 finally clicks into something automatic: TanStack Query caches, refetches, and dedupes requests so you stop hand-rolling fetch logic on every route from step 5. Expect to rewrite a few fetches before it feels natural.
You can wire up client state, real routes, and live data without hand-rolling loading flags for every request; a few minutes of due flashcards keeps step 1's hooks fresh while you build routing and data on top of them. Next up: proving all of this actually works.
Finish this section to unlock.
+100 XP
Prove the routes and queries from steps 5 and 6 actually work: Testing Library renders your components the way a user would click through them.
Vitest in step 7 proves a component behaves; Storybook is where you build and review it in isolation, every loading, error, and empty state on one page before it ever lands inside a route from step 5.
Landing in a codebase still standing on Redux Toolkit is where this pays off: the same reducer thinking step 4's Zustand used, just with more boilerplate and a deeper DevTools history.
Shipping production UI fast is where shadcn/ui pays off: accessible components typed with step 2's TypeScript, built on Radix primitives you own outright instead of an npm black box.
Pointing your React skills at mobile is where this pays off: most of steps 1, 2, and 4 transfer directly, the same typed components, hooks, and state, just native views underneath instead of the DOM.
Pull every earlier step into one shippable app: Next.js wraps your typed components, routing, and data fetching from steps 2 through 7 into a single deployable build, this time rendered server-first by default.
Everything from step 1's first component to step 12's Next.js build finally goes live: preview deployments on every pull request, environment variables that differ per environment, and the edge runtime that serves what you built to real users.
You can ship a typed, tested React app: components reviewed in isolation, routes and data handled by the framework, and the whole thing deployed to a live URL on Vercel. That's what the React badge certifies.
Finish this section to unlock.
+100 XP
Finish every required step, at least 70% of them genuinely done (not skipped), to earn this badge and 500 XP.