~//roadmap/frontend

Frontend Roadmap

A structured, top-to-bottom path from zero to frontend developer. Mark topics as Learning,Done or Skipped — your progress stays in your browser.

Progress
Learning
Done
Skipped
Recommendation
Recommended
Most developers pick this — standard choice
Alternative
Solid alternative — widely used and recommended
Optional
Valid choice — works well but less common

Your progress

0 of 69 topics completed

0 done0 learning0%
01

Internet & How it Works

The foundation every developer should understand before writing code.

How the Internet Works

Clients, servers, packets and the request/response cycle.

HTTP / HTTPS

Methods, status codes, headers, cookies and TLS.

DNS & Domains

How a domain name resolves to an IP address.

Browsers & Rendering

Parsing, the DOM, critical rendering path and reflows.

02

HTML

The skeleton of every web page.

HTML Basics17 lessons

Elements, attributes, document structure and boilerplate.

Semantic HTML

Meaningful markup that helps SEO and screen readers.

Forms & Validation

Input types, constraints, labels and native validation.

Accessibility (a11y)

ARIA, keyboard navigation and inclusive interfaces.

SEO Basics

Meta tags, structured data and crawlability.

03

CSS

Making the web beautiful — layout, color and motion.

CSS Basics15 lessons

Selectors, specificity, the cascade and inheritance.

Box Model & Layout

Margin, padding, borders and the box-sizing model.

Flexbox

One-dimensional layout for rows and columns.

CSS Grid

Two-dimensional layout with tracks and areas.

Responsive Design

Media queries, container queries and fluid sizing.

Animations & Transitions

Keyframes, easing and performant motion.

CSS Variables

Custom properties, theming and dynamic values.

04

CSS Frameworks & Styling

Pick the styling approach that fits your project.

You don't need all of these — learn one utility framework well.

Tailwind CSS

Utility-first styling, at speed. The modern default.

CSS Modules

Locally scoped class names, built into most bundlers.

Sass / SCSS

Nesting, variables and mixins for large stylesheets.

Bootstrap

Component library with a ready-made design system.

styled-components

CSS-in-JS with component-scoped styles.

PostCSS

Transform CSS with plugins — Autoprefixer and more.

05

JavaScript

The language of the web — logic, DOM and async.

JavaScript Basics12 lessons

Variables, functions, loops, scope and closures.

DOM Manipulation

Selecting, creating and updating elements.

ES6+ Features

Arrow functions, destructuring, spread and optional chaining.

Async JavaScript

Callbacks, promises and async/await.

Fetch API & AJAX

Making HTTP requests and handling responses.

Error Handling

try/catch, error objects and graceful failure.

06

Git & Version Control

Track changes and collaborate without fear.

Git18 lessons

Commits, branches, merging and the object model.

GitHub

Remotes, issues, pull requests and open source workflow.

07

TypeScript

JavaScript with types — scale without fear.

TypeScript14 lessons

Annotations, inference, interfaces, generics and narrowing.

Advanced Types

Utility types, conditional and mapped types.

08

JavaScript Frameworks

Component-based UI libraries. Pick one to specialize in.

Choose one framework and go deep. Concepts transfer between all of them.

React8 lessons

Component model, JSX, hooks and the largest ecosystem.

Vue

Progressive framework with an approachable template syntax.

Angular

Batteries-included, TypeScript-first enterprise framework.

Svelte

Compiles away the framework — no virtual DOM at runtime.

SolidJS

Fine-grained reactivity with a React-like API.

Preact

3kB React alternative with the same modern API.

09

State Management

Keeping data in sync across your components.

Each tool fits a different kind of state — pick what fits.

Context API

Built-in React state sharing without prop drilling.

Redux Toolkit

Predictable global state with devtools and middleware.

Zustand

Tiny, fast and unopinionated global state.

MobX

Reactive state via observables and computed values.

TanStack Query

Server-state caching, syncing and background refetching.

Pinia

The official Vue store — simple and type-safe.

10

Meta-frameworks

Full-stack frameworks built on top of UI libraries.

Pair one meta-framework with the UI library you chose earlier — don't learn several.

Next.js

React framework with routing, SSR and server components.

Nuxt

The intuitive Vue framework with auto-imports.

SvelteKit

Svelte's official app framework with adapters.

Astro

Content-first, islands architecture, ships zero JS by default.

Remix

Web-standards-first React framework with nested routes.

11

Testing

Ship with confidence — unit, integration and end-to-end.

Vitest

Blazing-fast unit testing powered by Vite.

Jest

The classic JavaScript test runner.

Testing Library

Test components the way users interact with them.

Playwright

Cross-browser end-to-end automation.

Cypress

Developer-friendly browser testing.

Storybook

Develop and document UI components in isolation.

12

Build Tools & Tooling

The toolchain that compiles, bundles and ships your code.

Vite

Instant dev server and optimized production builds.

npm

The default package manager and registry.

pnpm

Fast, disk-efficient package manager for monorepos.

ESLint

Catch bugs and enforce code style automatically.

Prettier

Opinionated code formatting, zero debates.

Webpack

The battle-tested module bundler (good to know).

Turborepo

High-performance build system for monorepos.

13

Next Steps

Level up beyond the basics and stand out.

Web Performance

Core Web Vitals, lazy loading and bundle budgets.

Web Security

XSS, CSRF, CORS and secure authentication.

PWA & Service Workers

Offline support, caching and installable apps.

GraphQL

Query exactly the data your UI needs.

Advanced Animation

GSAP timelines and scroll-driven storytelling.

Three.js / WebGL

3D graphics and immersive experiences on the web.

Docker & Deployment

Containers, CI/CD and shipping to production.

Progress saved to browser

$ echo "Keep going!"

Your progress is saved locally

All progress is stored in your browser's localStorage. No account needed. Come back anytime and pick up where you left off.

$ cat ~/faq

Frequently Asked Questions

Everything you need to know about the roadmap.