Mina's Web Dev Course · Zero to Full-Stack
A self-paced roadmap · built for Mina

From a bit of HTML to shipping full-stack apps.

This isn't a pile of tutorials to watch. It's a path where every module ends with something real — built by you, pushed to GitHub, live on the internet. Work through it at your own pace. Roughly 6–9 months at 10–15 hrs/week.

Your progress 0 / 0 steps done

Tick off each step as you go — it saves automatically on this device.

10 modules 8 real projects React · Express · Prisma deploy it for real
00
Getting ready~1 day

Set up your machine

Get your tools installed and accounts created. You're on a Mac, so we'll do it the way most developers do — with Homebrew, which turns the whole thing into a few one-line commands instead of a dozen downloads. Do it properly once and you never think about it again.

First — what is Homebrew?

Homebrew is a package manager for macOS — think of it as an app store for developer tools that you drive from the terminal. Instead of finding a website, downloading an installer, and clicking through it for every single tool, you type one line — brew install git — and it's done. It also keeps everything up to date at once with brew upgrade. Almost every Mac developer uses it; it's the tidiest way to install everything below. (On Windows instead? Grab each tool from its download page, or use winget.)

Do this
Done when

In the terminal, brew --version, git --version and node -v all print version numbers, VS Code opens, running claude starts Claude Code, and your GitHub account exists.

AI
Your pair programmerread early · use throughout

Learning with Claude

You have a Claude subscription — so you already have a patient tutor, a code reviewer, and a tireless pair programmer available any time. Used well, it makes this whole roadmap faster and a lot less lonely. Used badly, it quietly stops you from actually learning. Here's how to get the good version.

What it can do for you (basically everything)
  • Explain anything, in plain words. Paste an error, a file, or one confusing line and ask "what does this do?" or "why is this red?". No question is too basic — that's the whole point.
  • Be your always-on tutor. Ask it to teach a concept before you write code: "explain the box model like I'm new," "what's the real difference between props and state?"
  • Review your code. After a project: "review this for security, performance, and readability issues." Then read what it found — that's where a lot of the learning is.
  • Get you unstuck. Share the error and the relevant file and it walks you through the cause, not just a patch.
  • Do the boring parts. Boilerplate, scaffolding, repetitive edits — so your energy goes to the interesting bits.
  • Work across your whole project — that's Claude Code. In your terminal or VS Code, Claude Code can read every file, run commands, use git, and edit across many files at once. It's an agent that lives in your codebase, not just a chat window.
Do this
Watch out for — where AI trips up
  • It skims over security. It'll happily write code with missing auth checks, unvalidated input, secrets hardcoded in files, or SQL-injection holes — and won't mention them unless you ask. Get in the habit of asking: "is this safe?"
  • It has performance blind spots. Code that's fine on 10 rows can crawl on 10,000 — N+1 database queries, nested loops, loading everything into memory. It looks correct because it is correct — just slow.
  • It quietly drops things. While editing a file it can remove a check, a case, or an edge-handling branch and never say so — and won't reintroduce it later either. This is exactly why you read the diff.
  • It over-engineers. Ask for a button and get a plugin system, three new dependencies, and layers of abstraction you don't need. Push back: "give me the simplest version that works."
  • It's confidently wrong sometimes. It can invent functions, APIs, or config options that don't exist. Cross-check against the real docs — the MDN / official-docs habit from Module 1 pays off here.
  • Slow, expensive overkill. Pointing the heaviest model at a one-line typo fix is slow and burns your limits for no benefit. Match the tool to the size of the job.
  • The learning trap. If you paste in code you can't explain, you didn't learn — you assembled. Early on especially, prefer "explain it so I can write it" over "just write it."
Why fundamentals still matter

The goal isn't to out-type the AI — you never will. It's to become the person who can tell when the AI is wrong: who spots the security hole, the slow query, the missing check, the needless complexity. AI is the fastest way to move; the fundamentals in these modules are how you steer. Learn both and you're dangerous in the best way.

Done when

Claude Code is set up, you've used it to explain something and to review a project — and you can look at AI-written code and say what it does and whether you'd trust it.

01
Structure & styling2–3 weeks

HTML & CSS, properly

Not just "make a div pink" — real structure and layout skills. Everything here builds toward one goal: your own CV / homepage, live on the internet by the end of week 3.

Study these
Build it in stages — your CV / homepage
Done when

Your CV site is live at a real github.io URL, looks good on both phone and desktop, and you'd be happy to put the link on LinkedIn as "currently learning to code — here's my site."

What to look at
02
The programming part3–4 weeks

JavaScript

The real foundation. Jumping to React without solid JS is the #1 way people get stuck and give up — so don't rush this one.

Study these
Build these (vanilla JS, no framework)
Done when

You can build a small interactive app from a blank file without a tutorial open — and you can explain what async/await and .map() actually do in your own words.

What to look at
03
Version control3–5 days

Git & GitHub

A small module, but non-negotiable — every single job uses this.

Study these
Do this
Done when

Your GitHub profile shows several repos with real commit history and readable READMEs, and you can create a branch, open a PR, and merge it without looking anything up.

What to look at
04
Interactive UIs4 weeks

React

Now you build interactive UIs the way most modern front-ends are built.

Study these
Build these
Done when

You can start a new React app, break a design into components, wire up state and an API call, and add a second page with routing — comfortably, without copying from a tutorial.

What to look at
The one rule

No copying tutorial code without understanding each line. Type it out, break it on purpose, then fix it. That's where the learning actually happens.

05
Typed JavaScript1–2 weeks

TypeScript basics

Worth adding once React feels comfortable — most real-world React / Node jobs use TypeScript.

Study these
Do this
Done when

You can add types to props, state, and functions without fear, and a red squiggle in your editor feels helpful rather than scary.

What to look at
06
The backend3 weeks

Node + Express

Now you build the other half — the backend that serves data to a front-end.

Study these
Build this
Done when

You have an Express API with GET / POST / PUT / DELETE routes returning sensible status codes, and your React app reads and writes data through it.

What to look at
07
Databases2–3 weeks

SQL + Prisma

Learn plain SQL first — Prisma makes far more sense once you get what it's abstracting away.

Study these
Do this
Done when

Your API's data lives in a real PostgreSQL database, managed through Prisma — data survives a server restart, and you can model a one-to-many relationship on your own.

What to look at
08
Put it all together3–4 weeks

Capstone project

Combine everything into one real, deployed full-stack app. This is the project you'll talk about in interviews.

The stack

React front-end + Express / Prisma / PostgreSQL back-end, with basic auth (signup & login).

Do this
Done when

Anyone can visit a real URL (not localhost), sign up, log in, and use your app end-to-end. Having something live to point at changes everything — for confidence and for job applications.

09
Landing the jobongoing

Portfolio & job prep

You've got real projects now. This is about presenting them well and getting in front of people.

Do this
Done when

You have a tidy GitHub, a portfolio site linking 2–3 live projects, a resume built around them, and you're sending applications. This one never really "finishes" — keep iterating.

Read this whenever you feel stuck

The habits that decide whether this works — more than any single resource.

// no tutorial-hoppingWatching a course front to back without building anything is the most common way people stall. Pick one main resource per module, then immediately build something with the tutorial closed.
// get stuck on purposeStruggling with a bug for 30 minutes before looking it up is where real learning happens. Resist the urge to copy-paste a fix straight away.
// keep a TIL logA "today I learned" note, even a few lines a day. Great for retention — and later, for interview stories.
// order mattersDon't jump to React before JS is solid, and don't jump to Prisma before you understand what SQL is doing underneath. The sequence is the point.

You've got this, Mina. ♥