Your Learning Path

Roadmap to Intermediate Frontend Dev

JavaScript Β· React Β· npm Β· Git Β· GitHub Β· AI Tools Β· Tailwind Β· ~10 weeks

overall progress0%
0 of 0 tasks complete
πŸ—ΊοΈ
The Full Plan
~10 weeks from JS to shipping the ASL project
🎯
Goal: Go from learning JavaScript at uni to shipping a real ASL sign language recognition app with React, TensorFlow.js, MediaPipe, and a live AI API. Everything on this roadmap feeds directly into that project.
Learning Timeline
⚑
W1–W4
JavaScript
🌿
W2–W3
Git+GH
πŸ“¦
W4
npm
βš›οΈ
W5–W6
React
πŸ€–
W5–W8
AI Tools
🎨
W7–W8
Tailwind
πŸš€
W9–W11
ASL Project
⚑
JavaScript
Weeks 1–4 Β· Foundation
Core language, DOM, async/await, ES6+. Everything else depends on this.
0/0
🌿
Git & GitHub
Weeks 2–3 Β· Parallel
Version control and collaboration for the ASL project. Portfolio-ready repos.
0/0
πŸ“¦
npm
Week 4 Β· Quick win
Package management. 3–4 days. You'll pick most of it up by using it in React.
0/0
βš›οΈ
React
Weeks 5–6 Β· Main focus
Components, hooks, state. Start the ASL project scaffold by end of week 5.
0/0
πŸ€–
AI Tools
Weeks 5–8 Β· Ongoing
Copilot, Claude, prompting techniques, and Anthropic API in the ASL project.
0/0
🎨
Tailwind CSS
Weeks 7–8 Β· After React
Utility-first styling for React. Deliberately delayed β€” learn React structure first.
0/0

πŸ“ Full Frontend Roadmap Reference

roadmap.sh is the definitive community-maintained guide. The skills below are what it marks as essential for an intermediate frontend developer β€” and exactly what this checklist covers.

Open roadmap.sh/frontend β†—
HTML / CSS / JavaScript
Git & Version Control
React (framework)
Package Managers (npm)
CSS Frameworks / Tailwind
AI in Development
RESTful APIs / Fetch
Responsive Design
Browser DevTools
Testing & Debugging
⚑
JavaScript
Weeks 1–4 Β· The foundation of everything
0%
complete
πŸ’‘
You're already learning this at uni. Use these weeks to go deeper than the lectures β€” async and ES6+ are what separates beginners from developers who can use React confidently.
Week 1
Core Language Fundamentals
Variables, types, control flow, functions, scope
0/0β–Ό
βœ“
Variables β€” var, let, const
Scope differences, when to use each, temporal dead zone
core
βœ“
Data Types
Strings, numbers, booleans, null, undefined β€” and typeof
core
βœ“
Operators & Expressions
Arithmetic, == vs ===, logical (&&, ||, ??), ternary operator
core
βœ“
Control Flow
if/else, switch, for, while, do...while, break/continue
core
βœ“
Functions β€” declarations, expressions, arrow functions
Named functions, anonymous, hoisting, arrow syntax and 'this' differences
key
βœ“
Scope & Closures
Global vs local, lexical scope, closure β€” why this matters in React hooks
key
Week 2
Arrays, Objects & Modern ES6+
Data structures and syntax you'll use daily in React
0/0β–Ό
βœ“
Arrays β€” core methods
push/pop, map, filter, reduce, find, forEach, some, every
key
βœ“
Objects β€” creation & access
Key-value pairs, dot vs bracket notation, nested objects
core
βœ“
Destructuring
Array and object destructuring β€” used constantly in React
key
βœ“
Spread & Rest Operators
...spread to clone/merge arrays and objects, rest params in functions
key
βœ“
Template Literals
Backtick strings, multi-line, ${} interpolation
core
βœ“
Optional chaining & nullish coalescing
obj?.property to avoid crashes, ?? for defaults
key
βœ“
Modules β€” import / export
Named exports, default exports, import syntax across files
core
Week 3
Async JavaScript & the DOM
Fetch, Promises, async/await, DOM manipulation & events
0/0β–Ό
βœ“
The Event Loop
How JS runs code, why it's single-threaded, how async fits in
key
βœ“
Promises & .then()/.catch()
Creating, chaining, catching errors
key
βœ“
async / await
Cleaner async syntax β€” you'll use this constantly for API calls
key
βœ“
try / catch / finally
Handling errors in async code, logging, user feedback
core
βœ“
Fetch API
GET/POST requests, parsing JSON responses, handling errors
key
βœ“
DOM Manipulation
querySelector, createElement, classList, innerHTML, dataset
core
βœ“
Event Listeners
addEventListener, event object, bubbling, event delegation
core
Week 4
Consolidation & Project
Build something real before moving to React + npm
0/0β–Ό
βœ“
OOP basics β€” classes & this
Class syntax, constructor, methods, basic inheritance
core
βœ“
JSON β€” parse and stringify
Working with API data, config files, localStorage
core
βœ“
Browser DevTools
Console, Sources debugger, Network tab, Elements inspector
key
βœ“
πŸ—οΈ Build a vanilla JS project
Quiz app, weather widget using a free API, or memory game
project
βœ“
Push project to GitHub with a README
First real portfolio piece. Screenshot it, write a proper description.
project
🌿
Git & GitHub
Weeks 2–3 Β· Learn in parallel with JavaScript
0%
complete
⚑
Start in Week 2 of JS, not after. Git takes 2–3 days to get comfortable and you'll need it before the React + ASL project with your collaborator. Merge conflicts are inevitable β€” better to learn now.
Week 2
Git Fundamentals
Local version control β€” tracking, branching, merging
0/0β–Ό
βœ“
What is version control & why Git
Tracking file history, avoiding "final_v3_REAL.zip" disasters
core
βœ“
git init & git clone
Initialising a local repo vs cloning a remote one
core
βœ“
git add, commit, status, log
The daily workflow. Write meaningful commit messages.
key
βœ“
.gitignore
Exclude node_modules, .env files, OS files from commits
core
βœ“
Branches β€” create, switch, delete
git branch, git checkout -b, git switch
key
βœ“
git merge & resolving conflicts
Merging feature branches, reading conflict markers, choosing correct code
key
βœ“
git stash
Temporarily shelving unfinished work
core
Week 3
GitHub & Collaboration
Remote repos, pull requests, portfolio setup
0/0β–Ό
βœ“
Push local project to GitHub
git remote add origin, git push -u origin main
core
βœ“
Pull Requests (PRs)
Open, review, and merge PRs β€” critical for the ASL project collaboration
key
βœ“
git pull & fetch
Syncing with remote, understanding the difference between the two
core
βœ“
GitHub Issues & Project Board
Track tasks and bugs for the ASL project collaboratively
core
βœ“
Write a proper README.md
Project title, description, install steps, tech stack, screenshots
key
βœ“
GitHub Pages β€” deploy a static site
Free hosting. Live demos on your CV make a huge difference to recruiters.
project
βœ“
Pin 3 best repos on your GitHub profile
Recruiters look at this. Curate it intentionally.
project
πŸ“¦
npm
Week 4 Β· 3–4 days, learn by doing
0%
complete
πŸ“¦
npm is a quick win. You don't really "study" it in isolation β€” you learn it by setting up your first Vite + React project. These topics take 3–4 days and you'll keep reinforcing them throughout React and the ASL project.
Week 4
npm Essentials
Everything you need to manage packages in your projects
0/0β–Ό
βœ“
What npm is and why it exists
Package registry, managing dependencies, vs loading from CDN
core
βœ“
npm init & package.json
Fields: name, version, scripts, dependencies, devDependencies
core
βœ“
npm install
Installing packages, --save-dev flag, what node_modules actually is
key
βœ“
npm scripts
npm start, npm run dev, npm run build β€” custom task shortcuts
key
βœ“
package-lock.json
Locks exact versions β€” always commit this to git
core
βœ“
dependencies vs devDependencies
Runtime packages vs dev-only tools like linters and test runners
core
βœ“
πŸ—οΈ Scaffold a Vite + React project
npm create vite@latest β€” your first real npm workflow in practice
project
βš›οΈ
React
Weeks 5–6 Β· The main event
0%
complete
βš›οΈ
Two weeks is the right call. Week 5 = core concepts + a small practice app. Week 6 = intermediate hooks + scaffold the actual ASL project. Don't wait until you feel "ready" β€” learning inside a real project is how React sticks.
Week 5
Core React Concepts
Components, JSX, props, state β€” the mental model shift
0/0β–Ό
βœ“
What React is & the component model
Virtual DOM, declarative UI, why it exists over vanilla JS
core
βœ“
Vite + React project setup
npm create vite@latest, file structure, running dev server
core
βœ“
JSX syntax
HTML-in-JS, className not class, curly braces, self-closing tags
core
βœ“
Functional Components
Writing and composing reusable UI components
core
βœ“
Props
Passing data into components, default props, children prop
key
βœ“
useState Hook
Local state, setter function, how re-renders work
key
βœ“
Events in React
onClick, onChange, onSubmit β€” React synthetic event system
core
βœ“
Conditional Rendering
&&, ternary, show/hide components based on state
core
βœ“
Rendering Lists with .map() & keys
Why keys matter, rendering arrays of components
core
βœ“
πŸ—οΈ Build: small React practice app
Counter, colour picker, or todo β€” something with state. Deploy to GitHub Pages.
project
Week 6
Intermediate Hooks + Start ASL Project
useEffect, useRef, data fetching β€” then scaffold the real project
0/0β–Ό
βœ“
useEffect Hook
Side effects, dependency array, cleanup function β€” understand this deeply
key
βœ“
useRef Hook
Direct DOM access β€” essential for webcam + TensorFlow.js in the ASL project
key
βœ“
Fetching data in React
useEffect + fetch, loading/error states, displaying async data
key
βœ“
Lifting State Up
Sharing state between sibling components via a parent
core
βœ“
Forms in React (controlled inputs)
Controlled vs uncontrolled, form state, handling submission
core
βœ“
React Router basics
BrowserRouter, Route, Link β€” multiple pages in one app
core
βœ“
πŸš€ Scaffold the ASL project in React
Create the repo, set up Vite, plan component structure with your partner
project
πŸ€–
AI Tools & Integration
Weeks 5–8 Β· Ongoing alongside React and the ASL project
0%
complete
πŸ€–
This is on the roadmap.sh frontend path now. Being able to discuss how you used AI tools critically during the ASL project β€” not just blindly copy-pasting β€” is a real differentiator in 2026 interviews. Interviewers want to know you can use it and evaluate it.
Week 5
AI-Assisted Coding
Copilot, Claude, and Cursor β€” using them effectively while learning
0/0β–Ό
βœ“
How LLMs work (basic mental model)
Token prediction, not "thinking" β€” why it hallucinates, why context matters
core
βœ“
AI vs Traditional Coding
What AI speeds up (boilerplate, syntax) vs what it can't replace (architecture decisions)
core
βœ“
GitHub Copilot in VS Code
Tab completion, inline suggestions, chat panel β€” set it up, learn the shortcuts
ai tool
βœ“
Using Claude for code review
Paste your code, ask "what's wrong with this?" β€” learn from the explanation
ai tool
βœ“
When NOT to trust AI output
Spot hallucinated APIs, outdated syntax, wrong logic. Always verify output yourself.
key
Weeks 6–7
Prompting Techniques
Getting consistently useful output from AI assistants
0/0β–Ό
βœ“
Role prompting
"Act as a senior React developer reviewing my code" β€” sets context, improves quality
prompting
βœ“
Prompting for debugging
"Here's my error + full code. What's the likely cause?" β€” structured bug reports
key
βœ“
Chain-of-thought prompting
"Think step by step before answering" β€” better for complex architectural questions
prompting
βœ“
Iterating on AI output
"That's close but change X" β€” treat it like a conversation, not a search engine
key
βœ“
Using AI for code review & refactoring
Ask for a code review, ask "how would a senior dev improve this?"
ai tool
βœ“
Using AI for docs generation
Get Claude to write JSDoc comments and README sections for your projects
ai tool
Week 8
Implementing AI in the ASL Project
Integrating the Anthropic API to add real AI features
0/0β–Ό
βœ“
Anthropic API basics
Get an API key, understand the /v1/messages endpoint, read the docs
ai tool
βœ“
Call the API from a React app
fetch() to Anthropic endpoint, parse response, display result in UI
key
βœ“
Feature: ASL sentence builder
Detected signs β†’ API β†’ returns a natural language sentence. Strong portfolio feature.
project
βœ“
Feature: signing feedback assistant
Confidence scores β†’ API β†’ "Your B looks like P, try adjusting your thumb position"
project
βœ“
Document your AI usage for interviews
Note: what tools you used, how you caught mistakes, what you decided not to use it for
key
🎨
Tailwind CSS
Weeks 7–8 Β· After you're comfortable with React
0%
complete
⏱️
Deliberately delayed to Week 7. Learning Tailwind before you understand React component structure creates confusion about what's React and what's CSS. Two weeks into React this will click immediately β€” and you'll style the ASL project UI fast.
Week 7
Tailwind Fundamentals
Utility-first CSS β€” layout, spacing, typography, colour
0/0β–Ό
βœ“
What utility-first CSS means
Why Tailwind vs writing BEM/module CSS β€” and when each makes sense
core
βœ“
Install Tailwind in Vite + React
npm install, tailwind.config.js, @tailwind directives in CSS entry file
core
βœ“
Layout β€” flex & grid utilities
flex, grid, gap, justify-, items-, col-span β€” replaces most layout CSS
key
βœ“
Spacing, sizing & borders
p-, m-, w-, h-, rounded-, border- utility classes
core
βœ“
Typography & colour
text-lg, font-bold, text-gray-500, bg-blue-600 β€” the full Tailwind palette
core
βœ“
Responsive breakpoints
sm:, md:, lg:, xl: prefixes β€” mobile-first by default
key
Week 8
Intermediate Tailwind + Apply to ASL
State variants, dark mode, and styling your real components
0/0β–Ό
βœ“
Hover, focus & active state variants
hover:bg-blue-700, focus:ring, active:scale-95 etc
core
βœ“
Dark mode
dark: prefix, class-based toggle in React
core
βœ“
Custom values in tailwind.config
Extending the theme with custom colours, fonts, spacing tokens
core
βœ“
Tailwind + React patterns
className conditionals with template literals or the clsx library
key
βœ“
🎨 Restyle the ASL project UI with Tailwind
Replace all inline/module CSS with Tailwind classes. Big quality jump.
project