Frontend developer roadmap: HTML, CSS, JavaScript and beyond
Frontend is everything users see and touch. Learn the layers in the right order and build something at each step.

Frontend development means building what users see and interact with in the browser: pages, layouts, forms, animations and app screens. It rewards visual thinking and attention to detail, and it is a very good place to start because you see results immediately.
Stage 1: the three core languages
HTML: structure and meaning
- Headings, paragraphs, links, images, lists, tables and forms.
- Semantic elements (
header,nav,main,article,footer,button) because they help accessibility and SEO.
CSS: style and layout
- The box model, colours, typography, spacing.
- Flexbox and Grid for layout.
- Responsive design: mobile-first, media queries, fluid sizes.
- Variables (custom properties), transitions and simple animations.
JavaScript: behaviour
- Variables, types, functions, arrays and objects, loops, conditions.
- The DOM: select elements, change them, react to events.
- Asynchronous code: callbacks, promises,
async/await, andfetchto call APIs. - Modern syntax: modules, destructuring, arrow functions.
- Handling errors and reading the browser console.
Projects: a personal page, a responsive landing page, a calculator, a weather app using a public API.
Stage 2: tools
- VS Code and browser DevTools (elements, console, network, performance).
- Git and GitHub, and publishing to GitHub Pages, Netlify or similar.
- npm and a bundler/dev server such as Vite.
- Basics of the terminal.
Stage 3: go deeper in JavaScript
- Scope, closures,
this, prototypes and classes. - Immutability, array methods (
map,filter,reduce). - Browser storage (localStorage, cookies) and their security limits.
- TypeScript: adds types and catches many bugs early. Most professional projects use it.
Stage 4: learn one framework
Pick one and learn it well:
- React is the most widely used, with a huge ecosystem.
- Vue is approachable and well documented.
- Svelte and Angular are also solid choices.
Learn: components, props, state, events, lists and keys, forms, routing, fetching data and managing shared state. Then a meta-framework (Next.js, Nuxt, SvelteKit, Astro) for routing, server rendering and builds.
Projects: a task manager, a movie search app, a small shop with a cart.
Stage 5: quality of the user experience
Accessibility (a11y)
- Use semantic HTML, label every form field and give images useful
alttext. - Make everything usable with a keyboard, with visible focus.
- Keep sufficient colour contrast.
- Test with a screen reader and automated checks.
Performance
- Optimise and lazy-load images, use modern formats.
- Ship less JavaScript, split code, cache well.
- Learn Core Web Vitals (LCP, INP, CLS) and measure with Lighthouse.
- Avoid layout shifts by reserving space for images and ads.
SEO and meta basics
- Titles, descriptions, headings, canonical URLs, and server-rendered content where it matters.
Stage 6: working with the backend
- Call REST APIs, handle loading, errors and empty states.
- Authentication flows from the client side, and why tokens in
localStorageneed care. - Know the basics of web security: XSS, CSRF, CORS, content security policy (see the web security series).
- Forms and validation on both client and server.
Stage 7: testing and professional habits
- Unit tests (Vitest or Jest), component tests (Testing Library), end-to-end tests (Playwright or Cypress).
- Linting and formatting (ESLint, Prettier).
- CSS approaches: utility CSS such as Tailwind, CSS modules or a component library, and a design system mindset.
- Collaborating through pull requests and reviews.
- Basic design sense: spacing, hierarchy, consistency. Learn to read a Figma file.
Stage 8: specialise (optional)
State management, animation (CSS, Web Animations, Framer Motion), data visualisation, web components, progressive web apps, mobile with React Native, WebGL/3D, design systems.
How to learn it
- Rebuild real sites you like, starting from a screenshot.
- Build projects that you finish and deploy.
- Read documentation on MDN, the best reference for HTML, CSS and JavaScript.
- Don't chase every new library. Fundamentals last; frameworks change.
Takeaway: master HTML, CSS and JavaScript first, then one framework and TypeScript. Treat accessibility, performance and security as part of the job, test your work and show it with deployed projects.
Programming roadmaps series, Part 1 (getting started): 4 of 5. Previous: Backend developer roadmap: what to learn and in what order.


