Clients, servers, packets and the request/response cycle.
Fullstack Roadmap
The complete path — frontend, backend and everything in between. Mark topics as Learning,Done or Skipped — your progress stays in your browser.
Your progress
0 of 132 topics completed
Frontend
Client-side development — what users see and interact with.
Internet & How it Works
The foundation every developer should understand before writing code.
Methods, status codes, headers, cookies and TLS.
How a domain name resolves to an IP address.
Parsing, the DOM, critical rendering path and reflows.
HTML
The skeleton of every web page.
Elements, attributes, document structure and boilerplate.
Meaningful markup that helps SEO and screen readers.
Input types, constraints, labels and native validation.
ARIA, keyboard navigation and inclusive interfaces.
Meta tags, structured data and crawlability.
CSS
Making the web beautiful — layout, color and motion.
Selectors, specificity, the cascade and inheritance.
Margin, padding, borders and the box-sizing model.
Media queries, container queries and fluid sizing.
Keyframes, easing and performant motion.
Custom properties, theming and dynamic values.
CSS Frameworks & Styling
Pick the styling approach that fits your project.
You don't need all of these — learn one utility framework well.
Utility-first styling, at speed. The modern default.
Locally scoped class names, built into most bundlers.
Nesting, variables and mixins for large stylesheets.
Component library with a ready-made design system.
CSS-in-JS with component-scoped styles.
Transform CSS with plugins — Autoprefixer and more.
JavaScript
The language of the web — logic, DOM and async.
Variables, functions, loops, scope and closures.
Arrow functions, destructuring, spread and optional chaining.
try/catch, error objects and graceful failure.
Git & Version Control
Track changes and collaborate without fear.
Remotes, issues, pull requests and open source workflow.
TypeScript
JavaScript with types — scale without fear.
Annotations, inference, interfaces, generics and narrowing.
JavaScript Frameworks
Component-based UI libraries. Pick one to specialize in.
Choose one framework and go deep. Concepts transfer between all of them.
Component model, JSX, hooks and the largest ecosystem.
Progressive framework with an approachable template syntax.
Batteries-included, TypeScript-first enterprise framework.
Compiles away the framework — no virtual DOM at runtime.
Fine-grained reactivity with a React-like API.
3kB React alternative with the same modern API.
State Management
Keeping data in sync across your components.
Each tool fits a different kind of state — pick what fits.
Built-in React state sharing without prop drilling.
Predictable global state with devtools and middleware.
Tiny, fast and unopinionated global state.
Reactive state via observables and computed values.
Server-state caching, syncing and background refetching.
The official Vue store — simple and type-safe.
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.
React framework with routing, SSR and server components.
The intuitive Vue framework with auto-imports.
Svelte's official app framework with adapters.
Content-first, islands architecture, ships zero JS by default.
Web-standards-first React framework with nested routes.
Testing
Ship with confidence — unit, integration and end-to-end.
Blazing-fast unit testing powered by Vite.
The classic JavaScript test runner.
Test components the way users interact with them.
Cross-browser end-to-end automation.
Developer-friendly browser testing.
Develop and document UI components in isolation.
Build Tools & Tooling
The toolchain that compiles, bundles and ships your code.
Instant dev server and optimized production builds.
The default package manager and registry.
Fast, disk-efficient package manager for monorepos.
Catch bugs and enforce code style automatically.
Opinionated code formatting, zero debates.
The battle-tested module bundler (good to know).
High-performance build system for monorepos.
Next Steps
Level up beyond the basics and stand out.
Core Web Vitals, lazy loading and bundle budgets.
XSS, CSRF, CORS and secure authentication.
Offline support, caching and installable apps.
Query exactly the data your UI needs.
GSAP timelines and scroll-driven storytelling.
3D graphics and immersive experiences on the web.
Containers, CI/CD and shipping to production.
Backend
Server-side development — APIs, databases and infrastructure.
Internet & Networking
How clients and servers communicate.
Clients, servers, packets and the request/response cycle.
Methods, status codes, headers and content negotiation.
Transport layer fundamentals and persistent connections.
Real-time, bidirectional communication between client and server.
Name resolution, round-robin and health checks.
Node.js Fundamentals
JavaScript on the server — the event loop, streams and modules.
Runtime, event loop, modules and the global object.
Microtasks, macrotasks and non-blocking I/O.
Readable, writable, transform and pipeline.
Reading, writing and watching files with fs/promises.
API Design
Building clean, consistent interfaces for clients.
Resource naming, HTTP methods and status codes.
Schemas, resolvers, queries and mutations.
API-first design and auto-generated documentation.
URL, header and query-param versioning strategies.
Protecting APIs from abuse with throttling.
Web Frameworks
Pick a framework to build your APIs faster.
Choose one framework and go deep. These are language ecosystems — pick the one that fits your stack.
Minimal, flexible Node.js web framework.
High-performance alternative with schema-based validation.
Enterprise-grade, TypeScript-first framework with DI.
Ultrafast web framework for edge and serverless.
Express creators' modern rewrite with async/await.
Elegant PHP framework with artisan CLI and ecosystem.
Reusable PHP components and enterprise-grade framework.
Batteries-included Python framework with ORM and admin.
Lightweight Python micro-framework — minimal and flexible.
Modern Python framework with auto-generated OpenAPI docs.
Convention-over-configuration Ruby framework.
Java framework with dependency injection and auto-config.
Databases
Learn SQL first, then pick the engine that fits the job.
Start with SQL, learn one relational database well, then understand NoSQL trade-offs.
SELECT, JOIN, indexes, transactions and normalization.
The most advanced open-source relational database.
The world's most popular open-source DBMS.
Document database for flexible, JSON-like data.
In-memory store for caching, queues and sessions.
ORMs & Query Builders
Type-safe database access from your application code.
Next-gen ORM with type-safe queries and migrations.
TypeScript ORM that feels like writing SQL.
ORM for TypeScript and JavaScript with Active Record.
Query builder for Node.js — raw when you need it.
Authentication & Authorization
Keeping your APIs secure — who can do what.
Storing credentials safely with bcrypt, scrypt and Argon2.
Stateless authentication with signed tokens.
Third-party login and delegated access.
The identity layer on top of OAuth 2.0 for login and SSO.
Server-side sessions with cookies.
Role-based access control and policy engines.
Issuing, rotating and revoking API keys.
Testing
Reliable backend code — unit, integration and contract tests.
Fast unit testing for Node.js projects.
Full-featured test framework with built-in mocking.
HTTP assertion library for API integration tests.
Full-stack tests against a running server.
Caching & Performance
Making your APIs fast and efficient.
In-memory, Redis and CDN caching patterns.
Offset, cursor and keyset pagination.
Bulk operations, queues and background jobs.
Managing database connections efficiently.
Message Queues & Real-time
Asynchronous communication between services.
Bull/BullMQ for job queues backed by Redis.
Message broker with routing, acknowledgements and retries.
Distributed event streaming for high-throughput data.
Real-time bidirectional event-based communication.
DevOps & Deployment
Ship your backend to production with confidence.
Containerize your app for consistent deployments.
Automated testing and deployment with GitHub Actions.
Filesystem, permissions, processes and shell scripting.
Routing, SSL termination and static file serving.
AWS, GCP, Vercel, Railway and Fly.io.
Architecture & Patterns
Designing scalable, maintainable backend systems.
Splitting monoliths into independently deployable services.
Structured single deploy with clear module boundaries.
Pub/sub, event sourcing and CQRS.
Ports & adapters, use cases and dependency inversion.
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.