50% off all plans with SPRING50
3 Months Beginner

Frontend in 3 Months

A structured 12-week roadmap mapped to real BigDevSoon projects, daily challenges, and practice problems. From zero to a portfolio that lands junior frontend interviews. For people who want to do it right.

Week-by-week plan

1

Week 1: Web fundamentals + semantic HTML

How browsers parse and render HTML/CSS · Semantic HTML by default · Set up your local dev environment (editor, Git, terminal)

Goals

  • • How browsers parse and render HTML/CSS
  • • Semantic HTML by default
  • • Set up your local dev environment (editor, Git, terminal)

Projects

Challenges

2

Week 2: CSS layout: Flexbox

Box model and positioning · 1D layouts with Flexbox · Cascade and specificity

Goals

  • • Box model and positioning
  • • 1D layouts with Flexbox
  • • Cascade and specificity

Projects

Challenges

3

Week 3: CSS layout: Grid + responsive

2D layouts with CSS Grid · Responsive patterns with media queries · Fluid typography with clamp(), aspect-ratio

Goals

  • • 2D layouts with CSS Grid
  • • Responsive patterns with media queries
  • • Fluid typography with clamp(), aspect-ratio

Projects

Challenges

4

Week 4: JavaScript basics

Variables, types, control flow · Functions, scope, and closures · Arrays and objects

Goals

  • • Variables, types, control flow
  • • Functions, scope, and closures
  • • Arrays and objects

Projects

Challenges

Practice Problems

5

Week 5: DOM manipulation + events

Select and modify DOM elements · Handle events (click, input, submit) · Forms, validation, localStorage

Goals

  • • Select and modify DOM elements
  • • Handle events (click, input, submit)
  • • Forms, validation, localStorage

Projects

Challenges

Practice Problems

6

Week 6: Async JavaScript + APIs

Promises, async/await, the event loop · Fetch API, JSON, error handling · Loading states and optimistic UI

Goals

  • • Promises, async/await, the event loop
  • • Fetch API, JSON, error handling
  • • Loading states and optimistic UI

Projects

Challenges

Practice Problems

7

Week 7: React fundamentals

Components, props, JSX · useState and event handling · Lists, keys, conditional rendering

Goals

  • • Components, props, JSX
  • • useState and event handling
  • • Lists, keys, conditional rendering

Projects

Challenges

Practice Problems

8

Week 8: React effects, hooks, data fetching

useEffect and cleanup · useRef, useMemo, useCallback, useReducer · Data fetching with loading + error states

Goals

  • • useEffect and cleanup
  • • useRef, useMemo, useCallback, useReducer
  • • Data fetching with loading + error states

Projects

Challenges

Practice Problems

9

Week 9: React routing + forms

Multi-page apps with React Router · Controlled inputs and form state · Form validation with helpful errors

Goals

  • • Multi-page apps with React Router
  • • Controlled inputs and form state
  • • Form validation with helpful errors

Projects

Challenges

Practice Problems

10

Week 10: State management + context

When to lift state vs colocate · Context API for theme, auth, locale · Intro to external stores (Zustand)

Goals

  • • When to lift state vs colocate
  • • Context API for theme, auth, locale
  • • Intro to external stores (Zustand)

Projects

Challenges

Practice Problems

11

Week 11: Performance + deployment

Code splitting with React.lazy + Suspense · Memoization and React DevTools profiler · Deploy to Vercel with custom domain

Goals

  • • Code splitting with React.lazy + Suspense
  • • Memoization and React DevTools profiler
  • • Deploy to Vercel with custom domain

Projects

Challenges

Practice Problems

12

Week 12: Ship your portfolio flagship

Take a flagship Figma design and build it end-to-end · Deploy with a custom domain · Write a case study README · Share publicly and gather feedback

Goals

  • • Take a flagship Figma design and build it end-to-end
  • • Deploy with a custom domain
  • • Write a case study README
  • • Share publicly and gather feedback

Projects

Practice Problems

Three months gets you from zero to “I can build real frontend projects and explain how they work.” This plan is for people who want to do it right — proper fundamentals, no rushed CSS, no hand-wavey React.

Who this is for

  • You’re brand new to frontend (or brand new to programming entirely)
  • You have 1–2 hours per day, 6 days per week
  • You want depth, not surface familiarity
  • You want a portfolio that gets you hired at a junior role by Week 12

If you already know HTML/CSS and just want to learn React, skip to Weeks 7–12.

How to use this plan

  1. One week at a time. The weeks stack. Skipping creates gaps.
  2. Ship the weekly project. Even ugly. Even buggy. Done > perfect.
  3. Drill the practice problems. 15–30 minutes each. They build JavaScript fluency faster than reading.
  4. Use Merlin AI as a tutor. Open the live editor and ask the AI to explain. Don’t ask it to write your project — you’ll learn nothing.
  5. Get feedback publicly. Share Week 4, 8, and 12 projects on Twitter/Dev.to/Reddit. Feedback catches blind spots.

Milestones

  • End of Week 3: Build a responsive landing page from a Figma design
  • End of Week 6: Build an interactive vanilla JS app with API calls
  • End of Week 9: Build a multi-page React app with forms, routing, and global state
  • End of Week 12: Ship a portfolio flagship — Find Movies or Notely — with live URL and case study

After Week 12


Ready to start Week 1? Open Business Card and let’s go. Twelve weeks from now you’ll have a portfolio you’d hire yourself for.

Ready to start Week 1?

Get full access with a 7-day free trial.

Start 7-Day Free Trial