Skip to content
RoadmapFrontend

Frontend Development

Master HTML, CSS, JavaScript, TypeScript, React, and modern frontend engineering. 14 phases from web foundations to interview preparation.

Your Progress

Complete all 14 phases to master this track

0 / 14
Phases
0 / 187
Topics
0%
Complete
1

Phase 1: Web Foundations

Current

Understand the fundamentals of how the web works: client-server model, HTTP, browsers, and networking basics.

beginnerPhase 29

Understand the client-server model, DNS, HTTP, and how browsers render pages.

30m
0 problems
beginnerPhase 29

Learn how computers communicate over networks using packets, protocols, and IP addresses.

30m
0 problems
beginnerPhase 29

Understand how browsers parse HTML, CSS, and JavaScript to render web pages.

30m
0 problems
beginnerPhase 29

Master the HyperText Transfer Protocol: methods, headers, status codes, and request lifecycle.

45m
0 problems
beginnerPhase 29

Understand TLS/SSL, certificates, encryption, and why HTTPS is essential for security.

30m
0 problems
beginnerPhase 29

Learn how domain names are resolved to IP addresses through DNS hierarchy.

30m
0 problems
beginnerPhase 29

Understand URL structure: protocol, domain, path, query parameters, and fragments.

30m
0 problems
beginnerPhase 29

Master the HTTP request-response cycle including methods, headers, and body formats.

30m
0 problems
beginnerPhase 29

Compare GET, POST, PUT, PATCH, DELETE, HEAD, and OPTIONS methods.

30m
0 problems
beginnerPhase 29

Know 2xx, 3xx, 4xx, and 5xx status codes and when to use each.

30m
0 problems
beginnerPhase 29

Master request and response headers for caching, content type, CORS, and security.

45m
0 problems
beginnerPhase 29

Understand how cookies work, their properties, and security considerations.

30m
0 problems
beginnerPhase 29

Learn session management, server-side sessions, and session-based authentication.

30m
0 problems
beginnerPhase 29

Use localStorage for client-side data persistence with key-value pairs.

30m
0 problems
beginnerPhase 29

Compare sessionStorage with localStorage and understand their different lifecycles.

30m
0 problems
beginnerPhase 29

Master Cross-Origin Resource Sharing: preflight requests, headers, and security implications.

45m
0 problems
2

Phase 2: HTML

Master HTML fundamentals, semantic elements, forms, accessibility, and SEO best practices.

3

Phase 3: CSS

Master CSS fundamentals, layout systems, responsive design, animations, and architecture patterns.

beginnerPhase 31

Master CSS syntax, selectors, properties, and the cascade.

45m
0 problems
beginnerPhase 31

Use element, class, ID, attribute, pseudo-class, and pseudo-element selectors.

45m
0 problems
beginnerPhase 31

Understand margin, padding, border, content, and box-sizing: border-box.

30m
0 problems
beginnerPhase 31

Compare block, inline, inline-block, none, flex, and grid display values.

30m
0 problems
beginnerPhase 31

Master static, relative, absolute, fixed, and sticky positioning.

45m
0 problems
beginnerPhase 31

Build one-dimensional layouts with flex containers, items, and alignment properties.

1h
0 problems
beginnerPhase 31

Create two-dimensional layouts with grid template areas, columns, rows, and gaps.

1h
0 problems
beginnerPhase 31

Build layouts that adapt to any screen size using modern CSS techniques.

45m
0 problems
beginnerPhase 31

Apply styles based on device characteristics like width, height, and orientation.

30m
0 problems
beginnerPhase 31

Compare px, em, rem, vw, vh, %, and other units for different use cases.

30m
0 problems
beginnerPhase 31

Master font properties, line height, letter spacing, and web font loading.

30m
0 problems
beginnerPhase 31

Use hex, RGB, HSL, opacity, and CSS custom properties for color management.

30m
0 problems
beginnerPhase 31

Animate property changes with transition timing, duration, and delay.

30m
0 problems
intermediatePhase 31

Create keyframe animations with @keyframes, animation properties, and performance tips.

45m
0 problems
intermediatePhase 31

Organize CSS with BEM, CSS modules, and scalable architecture patterns.

45m
0 problems
intermediatePhase 31

Practice CSS layout challenges, centering techniques, and optimization questions.

1h
0 problems
4

Phase 4: JavaScript Fundamentals

Master JavaScript basics: variables, data types, operators, control flow, functions, and modules.

beginnerPhase 32

Master variables, operators, control flow, and basic syntax.

45m
0 problems
beginnerPhase 32

Compare var, let, and const declarations, scoping rules, and best practices.

30m
0 problems
beginnerPhase 32

Understand primitives (string, number, boolean, null, undefined, symbol, bigint) and objects.

45m
0 problems
beginnerPhase 32

Understand implicit and explicit type conversion and comparison operators.

30m
0 problems
beginnerPhase 32

Master arithmetic, comparison, logical, bitwise, and nullish operators.

30m
0 problems
beginnerPhase 32

Use if/else, switch, ternary, and short-circuit evaluation effectively.

30m
0 problems
beginnerPhase 32

Master for, while, do-while, for...of, for...in, and break/continue.

30m
0 problems
beginnerPhase 32

Define functions, understand scope, closures, and first-class functions.

1h
0 problems
beginnerPhase 32

Use concise arrow function syntax and understand lexical this binding.

30m
0 problems
beginnerPhase 32

Understand global, function, and block scope with lexical scoping rules.

45m
0 problems
beginnerPhase 32

Learn how variable and function declarations are hoisted to the top of their scope.

30m
0 problems
intermediatePhase 32

Master closures for data privacy, function factories, and memory management.

45m
0 problems
intermediatePhase 32

Understand how this binding works in different execution contexts.

45m
0 problems
beginnerPhase 32

Create objects, work with properties, methods, and object manipulation.

1h
0 problems
beginnerPhase 32

Master array methods: push, pop, map, filter, reduce, find, and more.

1h
0 problems
beginnerPhase 32

Extract values from arrays and objects with destructuring assignment syntax.

30m
0 problems
beginnerPhase 32

Use spread operator for copying/expanding and rest for parameter gathering.

30m
0 problems
beginnerPhase 32

Export and import code with ES modules for modular architecture.

30m
0 problems
5

Phase 5: Advanced JavaScript

Master the event loop, promises, async/await, prototypes, and memory management in JavaScript.

intermediatePhase 33

Understand how JavaScript creates and manages execution contexts.

45m
0 problems
intermediatePhase 33

Learn how the call stack manages function execution order.

30m
0 problems
intermediatePhase 33

Master the event loop: call stack, web APIs, callback queue, and microtask queue.

1h
0 problems
intermediatePhase 33

Understand Promise callbacks and microtask queue priority over macrotasks.

30m
0 problems
intermediatePhase 33

Learn setTimeout, setInterval, and how macrotasks are scheduled.

30m
0 problems
intermediatePhase 33

Create and chain Promises, handle errors, and use Promise.all/race/allSettled.

1h
0 problems
intermediatePhase 33

Write asynchronous code with async/await syntax and error handling.

45m
0 problems
intermediatePhase 33

Make HTTP requests with fetch, handle responses, and work with JSON data.

45m
0 problems
intermediatePhase 33

Use try/catch/finally, custom errors, and error propagation strategies.

30m
0 problems
intermediatePhase 33

Implement debounce to limit function execution frequency during rapid events.

30m
0 problems
intermediatePhase 33

Implement throttle to ensure function runs at most once per time interval.

30m
0 problems
intermediatePhase 33

Understand how events propagate from target to root in the DOM.

30m
0 problems
intermediatePhase 33

Learn the capture phase of event propagation and when to use it.

30m
0 problems
intermediatePhase 33

Use event bubbling to handle events efficiently on parent elements.

30m
0 problems
intermediatePhase 33

Understand prototype-based inheritance and the prototype chain.

45m
0 problems
intermediatePhase 33

Learn how property lookup works through the prototype chain.

30m
0 problems
intermediatePhase 33

Use ES6 class syntax for object-oriented programming patterns.

45m
0 problems
intermediatePhase 33

Understand how JavaScript manages memory with mark-and-sweep GC.

30m
0 problems
intermediatePhase 33

Prevent memory leaks by understanding references, closures, and event cleanup.

45m
0 problems
7

Phase 7: TypeScript

Master TypeScript fundamentals, type system, generics, and integration with React.

8

Phase 8: React

Master React components, hooks, state management, rendering optimization, and performance patterns.

beginnerPhase 36

Understand React's component model, declarative UI, and virtual DOM benefits.

30m
0 problems
beginnerPhase 36

Create functional and class components with proper structure and composition.

45m
0 problems
beginnerPhase 36

Write JSX syntax, embed expressions, and understand JSX compilation.

30m
0 problems
beginnerPhase 36

Pass data between components with props, default values, and prop types.

45m
0 problems
beginnerPhase 36

Manage component state with useState, understand state updates, and immutability.

45m
0 problems
beginnerPhase 36

Handle user events in React with synthetic events and event handler patterns.

30m
0 problems
beginnerPhase 36

Render different UI based on conditions with &&, ternary, and early returns.

30m
0 problems
beginnerPhase 36

Render arrays of data with map and handle dynamic lists efficiently.

30m
0 problems
beginnerPhase 36

Use keys correctly for list rendering and understand reconciliation.

30m
0 problems
beginnerPhase 36

Build controlled and uncontrolled forms with proper state management.

45m
0 problems
beginnerPhase 36

Manage form inputs with React state for full control over form data.

30m
0 problems
beginnerPhase 36

Master the useState hook for local component state management.

45m
0 problems
intermediatePhase 36

Handle side effects with useEffect, dependencies, and cleanup functions.

1h
0 problems
intermediatePhase 36

Use useRef for DOM references, mutable values, and avoiding re-renders.

30m
0 problems
intermediatePhase 36

Optimize expensive computations with useMemo for performance.

30m
0 problems
intermediatePhase 36

Stabilize function references with useCallback for child component optimization.

30m
0 problems
intermediatePhase 36

Extract reusable logic into custom hooks for cleaner component code.

45m
0 problems
intermediatePhase 36

Share state across components without prop drilling using React Context.

45m
0 problems
intermediatePhase 36

Design flexible UIs with composition patterns, render props, and children.

45m
0 problems
intermediatePhase 36

Understand mounting, updating, and unmounting phases in functional components.

30m
0 problems
intermediatePhase 36

Master the rendering process: state changes, reconciliation, and batching.

45m
0 problems
intermediatePhase 36

Optimize React apps with memo, lazy loading, code splitting, and profiling.

1h
0 problems
9

Phase 9: Frontend Architecture

Design scalable frontend architectures with state management, API layers, authentication, and real-time updates.

intermediatePhase 37

Design scalable component hierarchies with clear responsibilities.

45m
0 problems
intermediatePhase 37

Compare local state, context, Redux, and other state management solutions.

1h
0 problems
intermediatePhase 37

Understand the difference and use appropriate tools for each.

45m
0 problems
intermediatePhase 37

Design clean API abstraction layers for data fetching and mutation.

45m
0 problems
intermediatePhase 37

Implement JWT, OAuth, and session-based authentication in SPAs.

1h
0 problems
intermediatePhase 37

Control access with role-based and permission-based authorization patterns.

45m
0 problems
intermediatePhase 37

Design global error boundaries and error recovery strategies.

45m
0 problems
intermediatePhase 37

Implement skeleton screens, spinners, and optimistic UI patterns.

30m
0 problems
intermediatePhase 37

Build offset and cursor-based pagination with proper state management.

45m
0 problems
intermediatePhase 37

Implement infinite scrolling with intersection observers and virtual lists.

45m
0 problems
intermediatePhase 37

Build search interfaces with debouncing, indexing, and result ranking.

45m
0 problems
intermediatePhase 37

Implement client-side and server-side filtering with URL state synchronization.

45m
0 problems
intermediatePhase 37

Build sortable tables and lists with multi-column sort support.

30m
0 problems
intermediatePhase 37

Update UI immediately before server confirmation for better UX.

30m
0 problems
intermediatePhase 37

Cache API responses with stale-while-revalidate and cache invalidation.

45m
0 problems
intermediatePhase 37

Design scalable forms with validation, state management, and submission handling.

45m
0 problems
intermediatePhase 37

Handle file uploads with drag-and-drop, progress tracking, and preview.

45m
0 problems
intermediatePhase 37

Implement WebSockets, SSE, and polling for live data updates.

1h
0 problems
10

Phase 10: Web Performance

Optimize web applications for speed: Core Web Vitals, code splitting, caching, and rendering strategies.

intermediatePhase 38

Measure LCP, INP, CLS, and understand Google's performance metrics.

45m
0 problems
intermediatePhase 38

Optimize LCP by improving server response, resource loading, and rendering.

30m
0 problems
intermediatePhase 38

Minimize INP by optimizing event handlers and main thread work.

30m
0 problems
intermediatePhase 38

Prevent CLS with dimension attributes, font loading, and dynamic content.

30m
0 problems
intermediatePhase 38

Split bundles with dynamic imports for faster initial page loads.

45m
0 problems
intermediatePhase 38

Defer non-critical resources with lazy loading for images, components, and routes.

30m
0 problems
intermediatePhase 38

Optimize images with modern formats, responsive sizing, and CDN delivery.

45m
0 problems
intermediatePhase 38

Load web fonts efficiently with font-display, subsetting, and preload.

30m
0 problems
intermediatePhase 38

Leverage HTTP caching headers, service workers, and cache strategies.

45m
0 problems
intermediatePhase 38

Use Content Delivery Networks to serve static assets from edge locations.

30m
0 problems
intermediatePhase 38

Enable Gzip and Brotli compression for reduced transfer sizes.

30m
0 problems
intermediatePhase 38

Minimize bundle size with tree shaking, dead code elimination, and analysis.

45m
0 problems
intermediatePhase 38

Compare CSR, SSR, SSG, and ISR for different use cases.

1h
0 problems
intermediatePhase 38

Implement SSR for improved initial load time and SEO.

45m
0 problems
intermediatePhase 38

Understand CSR tradeoffs: faster interactivity but slower initial load.

30m
0 problems
intermediatePhase 38

Pre-render pages at build time for maximum performance.

30m
0 problems
intermediatePhase 38

Understand how SSR content becomes interactive with client-side hydration.

30m
0 problems
14

Phase 14: Frontend Interview Preparation

Synthesize frontend knowledge through practice exercises and mock interviews.