Frontend Development Roadmap
A frontend developer builds the part of a website or app that users see and interact with — buttons, layouts, forms, animations, and everything that runs in the browser. Day to day, you will write HTML, CSS, and JavaScript (or TypeScript), work with a framework like React or Next.js, turn design mockups into working pages, fetch data from APIs, fix browser bugs, and make sure everything works on phones, tablets, and desktops. You will collaborate closely with designers, backend developers, and product managers.
Learning roadmap
Follow the topics in order, from the fundamentals to advanced skills. Click any topic to learn more.
Beginner
HTML
beginnerHTML (HyperText Markup Language) is the standard language for creating web pages. It defines the structure and content of every page you see in a browser — headings, paragraphs, images, links, forms, and more.
CSS
beginnerCSS (Cascading Style Sheets) controls how HTML elements look on screen — colours, fonts, spacing, layout, and animations. It turns a plain document into a designed experience.
Responsive Design
beginnerResponsive design is the practice of building web pages that look and work well on any screen size — from a small phone to a large desktop monitor. It uses flexible layouts, images, and CSS media queries.
JavaScript
beginnerJavaScript is the programming language of the web. It runs in every browser and lets you make pages interactive — respond to clicks, validate forms, fetch data from servers, and build full applications.
Git & Version Control
beginnerGit is a version control system that tracks changes to your code over time. GitHub is a platform built on Git that lets you store code online, collaborate with others, and manage projects.
Intermediate
React
intermediateReact is a JavaScript library for building user interfaces, created by Meta. It lets you break your UI into reusable components, manage state efficiently, and build complex single-page applications.
TypeScript
intermediateTypeScript is a superset of JavaScript that adds static types. It catches errors at compile time instead of runtime, making your code more reliable and easier to refactor, especially on larger projects.
CSS Frameworks & Tailwind
intermediateCSS frameworks give you pre-built utility classes or components so you can style pages faster. Tailwind CSS is a utility-first framework where you compose styles directly in your HTML with small, single-purpose classes.
APIs & Data Fetching
intermediateAn API (Application Programming Interface) is a way for your frontend to talk to a server and exchange data. Data fetching is the process of sending requests to an API and using the response to update your UI.
Accessibility (a11y)
intermediateWeb accessibility means building sites that everyone can use, including people with visual, motor, hearing, or cognitive disabilities. It involves semantic HTML, keyboard navigation, screen reader support, and inclusive design.
State Management
intermediateState management is how you organise and share data across different parts of your application. As apps grow, you need patterns and tools to keep your data predictable, consistent, and easy to debug.
Advanced
Testing
advancedTesting is writing code that checks whether your app works correctly. Frontend testing includes unit tests (individual functions), component tests (UI pieces), and end-to-end tests (full user flows).
Web Performance
advancedWeb performance is about making your site load fast and respond instantly. It covers how browsers render pages, what slows them down, and techniques to optimise images, scripts, and network requests.
Next.js & Deployment
advancedNext.js is a React framework that adds server-side rendering, static site generation, file-based routing, and built-in API routes. It is used to build production-ready web applications that are fast and SEO-friendly.