Skip to content
Frontend Engineer Roadmap
0 / 18
Roadmap · 2026 Edition

Frontend
Engineer.

18 stations. 3 tracks. From HTML, CSS, and JavaScript to React, performance, and deployment — at your own pace.

Foundations
~5h 0/6
Core Frontend
~5h 0/6
Production
~6h 0/6
0 of 18 stations · ~0h of ~16h
Lines —
Foundations
Core Frontend
Production
Stations —
Not started
Completed

The roadmap.

Three tracks. 18 stations. Click any node to open its detail. Mark complete as you go — your progress is saved locally.

Practice tools

Go deeper.

Interactive tools to practice what you've learned from the roadmap above.

    Keep reading.

    The Prompting Handbook covers the Foundation track in depth — interactive, no code required.

    Read the handbook →

    Frontend Engineer Roadmap 2026 — the full roadmap in text

    A written version of the interactive roadmap above — every station, what you'll learn, and a small thing to build — laid out for reading, reference and search.

    Foundations Start here

    F1. HTML & Semantics

    Beginner · 45 min

    The frontend starts with structure. Learn semantic HTML — the right element for the right job — because meaningful markup is what makes a page accessible, SEO-friendly, and easy to style. Divs everywhere is a smell; landmarks and headings are a map.

    Skills: Semantic elements · Document structure · Forms & inputs · Metadata & SEO basics

    Build it: Rebuild a blog article page using only semantic tags — header, nav, main, article, aside, footer — no generic divs. Does the outline read clearly?

    F2. CSS Fundamentals

    Beginner · 60 min

    CSS is deceptively deep. Master the box model, the cascade and specificity, selectors, units (px/rem/em/%), and custom properties. Most "CSS is hard" pain is really specificity and the box model biting you — learn them once and the fog lifts.

    Skills: Box model · Cascade & specificity · Selectors · Units & custom properties

    Build it: Style a card component. Deliberately create a specificity conflict, then resolve it — and swap a hard-coded color for a CSS custom property.

    F3. Layout: Flexbox & Grid

    Beginner · 60 min

    Layout is where CSS earns its keep. Flexbox handles one dimension (rows or columns); Grid handles two. Learn when to reach for each, plus responsive design with media queries and fluid units. This is the toolkit behind every modern page.

    Skills: Flexbox (1D) · CSS Grid (2D) · Responsive & media queries · Fluid layouts

    Build it: Build a responsive dashboard: a Grid page shell with Flexbox toolbars inside, collapsing to one column on mobile. Which layouts are Grid, which Flex?

    F4. JavaScript

    Intermediate · 90 min

    JavaScript runs the web. Learn the core: types and coercion, functions and closures, the event loop and async (promises, async/await), array methods, and the ES modules that structure real apps. This is the language every framework is built on.

    Skills: Types & closures · Event loop & async/await · Array & object methods · ES modules

    Build it: Write a debounce function from scratch, then use it on a search input. Explain why the closure captures the timer across calls.

    F5. The DOM & Events

    Intermediate · 55 min

    The DOM is the live tree the browser builds from your HTML, and JavaScript changes the page by mutating it. Learn selection, creation, event listeners, bubbling and delegation, and why touching the DOM in a loop is slow. Frameworks abstract this — but it is still underneath.

    Skills: DOM tree & selection · Events & delegation · Bubbling / capturing · Reflow & repaint cost

    Build it: Build a to-do list with vanilla DOM APIs. Use one delegated listener on the parent instead of one per item — why is that faster?

    F6. Accessibility

    Intermediate · 55 min

    A UI only works if everyone can use it. Learn keyboard navigation, focus management, ARIA (and when NOT to use it), color contrast, and screen-reader basics. Accessibility is not a checkbox at the end — it is a design constraint from the first line of markup.

    Skills: Keyboard & focus · ARIA roles (sparingly) · Contrast & color · Screen-reader testing

    Build it: Make a custom dropdown fully keyboard-operable and screen-reader announced. What ARIA does it need — and what does semantic HTML give free?

    Core Frontend The craft

    T1. TypeScript

    Intermediate · 60 min

    TypeScript adds a type system on top of JavaScript, catching a whole class of bugs before runtime and making large codebases navigable. Learn types vs interfaces, generics, unions and narrowing, and how types document intent. It is the default for serious frontend today.

    Skills: Types & interfaces · Generics · Unions & narrowing · Typing props & APIs

    Build it: Type a fetch wrapper that returns a typed result. Use a generic so the caller gets the right shape without casting.

    T2. React Fundamentals

    Intermediate · 75 min

    React is the dominant way to build UIs: describe what the UI should look like for a given state, and React reconciles the DOM. Learn components, JSX, props, state, the render cycle, and hooks (useState/useEffect) plus their rules. This is the heart of modern frontend.

    Skills: Components & JSX · Props & state · Render cycle & reconciliation · Hooks & their rules

    Build it: Build a counter with useState and a data-loader with useEffect. Explain exactly what triggers a re-render — and what does not.

    T3. State Management

    Advanced · 60 min

    As apps grow, state gets tangled. Learn the ladder: local state, lifting state up, context for cross-cutting values, and when a store (Redux, Zustand, signals) earns its place. The skill is keeping state as local as possible and reaching for globals last.

    Skills: Local vs global state · Context & prop drilling · Stores (Redux/Zustand) · Derived state

    Build it: A theme toggle needs to reach deep components. Solve it with context. When would you upgrade to a store instead?

    T4. Data Fetching & Caching

    Advanced · 60 min

    UIs live on server data. Learn the request lifecycle in the browser (fetch, loading/error states, race conditions), then the modern answer: a data layer (React Query, SWR) that caches, dedupes, and revalidates. Server state is not UI state — treat it differently.

    Skills: fetch & async UI states · Race conditions & abort · Caching & revalidation · Optimistic updates

    Build it: Fetch a list, then let the user favorite an item with an optimistic update that rolls back on error. How do you avoid a stale response overwriting a newer one?

    T5. Routing & Forms

    Intermediate · 55 min

    Two things every app needs. Client-side routing maps URLs to views without full reloads (and must handle deep links and history). Forms are deceptively hard: controlled inputs, validation, and accessible error handling. Get these right and the app feels solid.

    Skills: Client-side routing · Nested routes & params · Controlled inputs · Validation & errors

    Build it: Build a multi-step form with URL-driven steps, so refresh and back-button keep the user in place. Where does the form state live?

    T6. Testing

    Advanced · 55 min

    Untested UIs break silently. Learn the frontend test pyramid: unit tests for logic, component tests (Testing Library) that assert on what the user sees, and a few end-to-end flows (Playwright). Test behavior, not implementation — so tests survive refactors.

    Skills: Unit vs component vs e2e · Testing Library · Mocking network · Testing behavior not internals

    Build it: Write a component test for a login form: assert the error shows on bad input, without asserting on internal state. Why is that more robust?

    Production Ship & operate

    P1. Build Tools & Bundlers

    Advanced · 55 min

    Modern frontend ships through a build step. Learn what a bundler (Vite, esbuild, webpack) actually does — module resolution, transpiling, tree-shaking, code-splitting — and why dev servers use native ESM for speed. The build is where your source becomes something a browser can load fast.

    Skills: Bundling & module graph · Tree-shaking · Code-splitting · Dev server & HMR

    Build it: A route is loaded by 5% of users. Code-split it so it is not in the main bundle. How do you measure the bytes you saved?

    P2. Rendering: CSR / SSR / SSG

    Advanced · 65 min

    Where does the HTML come from? Client-side rendering (ship JS, build in the browser), server-side rendering (HTML per request), static generation (HTML at build), and hydration that wires them up. Each trades off speed, SEO, and freshness — the defining architecture choice of a modern app.

    Skills: CSR vs SSR vs SSG · Hydration · Streaming & RSC · SEO & first paint tradeoffs

    Build it: A marketing page and a logged-in dashboard have opposite needs. Pick a rendering strategy for each and justify it by SEO and freshness.

    P3. PWA & Offline

    Advanced · 50 min

    Progressive Web Apps make a site behave like a native app: installable, offline-capable, and resilient on flaky networks. Learn service workers (the programmable network proxy), caching strategies, and the manifest. Offline-first is a mindset, not just a feature.

    Skills: Service workers · Caching strategies · Web app manifest · Offline-first UX

    Build it: Cache an app shell so it loads offline, but keep API data fresh when online. Which caching strategy for each — cache-first or network-first?

    P4. Performance & Core Web Vitals

    Advanced · 65 min

    Speed is a feature. Learn the Core Web Vitals (LCP, INP, CLS), the critical rendering path, lazy-loading, image optimization, and how to profile with the browser devtools. Perception matters as much as milliseconds — measure real user experience, not just lab scores.

    Skills: Core Web Vitals (LCP/INP/CLS) · Critical rendering path · Lazy-loading & images · Profiling & measuring

    Build it: A page has a slow LCP and a layout shift. Diagnose both in devtools and fix them. Which metric does each fix move?

    P5. Frontend Security

    Advanced · 50 min

    The browser is a hostile environment. Learn XSS (and why escaping and CSP matter), CSRF, secure token storage, CORS, and safe handling of user input. Frontend security is mostly about never trusting data — including data from your own API.

    Skills: XSS & escaping / CSP · CSRF · Token storage · CORS & same-origin

    Build it: You must render user-authored HTML. Show how you prevent XSS — and why innerHTML with raw input is a trap.

    P6. Deployment & CI/CD

    Advanced · 50 min

    Shipping frontend well: static hosting and CDNs, cache-busting with content hashes, preview deploys per pull request, and a CI pipeline that lints, tests, and builds before anything goes live. The goal is boring, reversible releases — deploy on every merge without fear.

    Skills: CDN & static hosting · Cache-busting · Preview deploys · CI: lint / test / build

    Build it: Set up a pipeline that gives every PR a preview URL and blocks merge on failing tests. How do content hashes let you cache assets forever?

    Finished this one? 0 / 13 Roadmaps done

    Explore the topic

    See this alongside everything else on the same subject — handbooks, system designs, challenges and tools, in one place.

    More Roadmaps