Track · ~6 months · 48 nodes
Frontend.
HTML, CSS, JS, React, and the patterns real teams use.
Foundations
What the web is and how it gets to the user.
- How the internet worksClients, servers, packets, and the trip your request takes.
- HTTP & HTTPSThe protocol the browser speaks. Methods, status, headers.
- Browsers & renderingHow a browser turns markup into pixels you can see.
- Domain names & DNSHow a typed name becomes the IP your browser actually hits.
- Web hosting basicsStatic, dynamic, edge — where your code actually lives.
HTML
Structure, semantics, and the contract with the browser.
- HTML basicsStructure, elements, attributes — the foundation of every UI.
- Semantic HTMLUsing the right tag for the right job. Accessibility starts here.
- Forms & validationInputs, types, native validation, and the UX of errors.
- Accessibility basicsWAI-ARIA, keyboard nav, contrast, screen readers — the floor.
CSS
Layout, theming, and the modern toolkit.
- CSS basicsSelectors, the cascade, the box model — what you can't fake.
- Flexbox & GridModern layout: when to reach for which, and how they compose.
- Responsive designOne codebase, every screen. clamp, container queries, fluid type.
- CSS variables & themingDesign tokens, dark mode, and themes that don't fight you.
- Modern CSS:has, color-mix, container queries, view transitions.
JavaScript
The language that runs the web. And TypeScript.
- JavaScript basicsTypes, functions, scope, control flow. The fundamentals.
- DOM manipulationquerySelector, addEventListener, and the bridge from JS to pixels.
- ES6+ featureslet/const, arrow fns, destructuring, spread, optional chaining.
- Async & promisesCallbacks, promises, async/await — the concurrency model.
- ES modulesimport/export, side effects, tree-shaking — how code links.
- fetch & error handlingTalking to APIs, parsing JSON, recovering from failure.
- TypeScript basicsTypes, interfaces, generics — TS without the tears.
- TypeScript advancedConditional types, infer, satisfies, and how libraries actually use TS.
Tooling
The boring stuff that pays for itself a hundred times over.
- Package managersnpm, pnpm, lockfiles, semver, and dependency hygiene.
- Git & GitHubBranches, PRs, rebase vs merge, the bare minimum to ship.
- BundlersVite, esbuild, Turbopack — what they do and when it matters.
- Linters & formattersESLint + Prettier — keep style off code review.
- Browser devtoolsNetwork, performance, console — the daily driver of debugging.
React
The library every frontend posting expects you to know.
- React basicsComponents, JSX, props, state — the model.
- React hooksuseState, useEffect, useMemo, useRef — and when not to.
- Lists, keys, reconciliationHow React decides what changed, and why your list key matters.
- Custom hooksExtracting reusable behavior. The composition pattern.
- Context & stateuseContext, lifting state, when to reach for Zustand or Redux.
- React RouterClient-side routing for non-Next apps.
- Forms in ReactReact Hook Form + Zod — controlled, validated, accessible.
- Server vs client componentsThe Next 14+ split, when each runs, and 'use client'.
Production
Ship it. Measure it. Fix it. Repeat.
- Next.js fundamentalsApp Router, layouts, server actions, the production frame.
- Data fetching patternsServer fetching, RSC payloads, SWR/TanStack Query — when to pick what.
- Core Web VitalsLCP, INP, CLS — the metrics Google + your users actually feel.
- Testing the frontendVitest + Playwright — unit, component, end-to-end, real.
- Deployment & CI/CDVercel, GitHub Actions, preview deploys, env vars done right.
- Monitoring & errorsSentry, Vercel Analytics, real-user metrics. Sleep at night.
- SEO basicsMeta tags, sitemaps, structured data, the shape Google needs.
- Working with AI toolsCopilot, Cursor, Claude Code — using AI without losing the fundamentals.
Beyond the basics
Optional depth + the actual job hunt.
- Design systemsTokens, primitives, shadcn/ui patterns, internal libraries.
- Advanced TypeScriptLibrary-grade TS — overloads, branded types, type-level work.
- Web standardsPWA, service workers, web components — beyond React.
- Accessibility auditsaxe, Lighthouse, manual screen-reader walks. Verify, don't assume.
- Get hiredPortfolio, resume, take-homes, interviews — the actual job hunt.
Outcomes
When you finish this track:
- Build and ship a Next.js app to production with passing Core Web Vitals.
- Pass a frontend take-home interview with clean, semantic, accessible code.
- Read any React + TypeScript codebase and contribute on day one.
Schedule
~290 hours total.
At 8–10 hours a week, that’s about 6 months. Each stage has its own pace.
- Foundations
- HTML
- CSS
- JavaScript
- Tooling
- React
- Production
- Beyond the basics