Frontend Path
Frontend developers build everything users see and touch — layout, styling, and interactivity. If you enjoy design and making things feel smooth, start here.
1HTML — the structure
HTML (HyperText Markup Language) describes the content and structure of a page using elements written in angle brackets. Think of it as the skeleton: headings, paragraphs, images, links, lists, and forms.
<!DOCTYPE html>
<html lang="en">
<body>
<h1>My First Page</h1>
<p>Hello, world! I'm learning to code.</p>
<a href="https://developer.mozilla.org">Read the docs</a>
</body>
</html>Use semantic tags that describe meaning — <header>, <nav>, <main>, <button> — instead of wrapping everything in <div>. It helps accessibility and SEO.
2CSS — the styling
CSS (Cascading Style Sheets) controls how things look: colors, fonts, spacing, and layout. You select an element and give it rules.
.card {
background: #fff;
padding: 16px; /* space inside the border */
border: 2px solid #eee;
border-radius: 12px;
margin: 8px; /* space outside the border */
}The box model is the #1 thing beginners must master: every element is a box made of content → padding → border → margin (from the inside out).
3Responsive layout — Flexbox & Grid
Modern layouts use two tools. Flexbox arranges items in one direction (a row or a column). Grid arranges items in two dimensions (rows and columns).
.navbar {
display: flex;
justify-content: space-between; /* logo left, links right */
align-items: center; /* vertically centered */
gap: 16px;
}.gallery {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 12px;
}4JavaScript — the behavior
JavaScript makes pages interactive: responding to clicks, updating content, and talking to servers. Start with variables, functions, arrays, objects, and the DOM.
const button = document.querySelector("#greet");
let count = 0;
button.addEventListener("click", () => {
count += 1;
button.textContent = `Clicked ${count} times`;
});Learn async code too — fetching data from an API is a daily task:
async function loadUser() {
const res = await fetch("https://api.github.com/users/octocat");
const user = await res.json();
console.log(user.name); // "The Octocat"
}5React — thinking in components
React lets you build UIs from reusable components and reactive state. When state changes, React re-renders the parts that changed. It has the most jobs and the largest beginner community.
import { useState } from "react";
export function Counter() {
const [count, setCount] = useState(0);
return (
<button onClick={() => setCount(count + 1)}>
Clicked {count} times
</button>
);
}6Version control with Git
Every project should live on GitHub. Git tracks your changes as commits and lets you collaborate. These four commands cover 90% of daily use:
git init # start tracking a project
git add . # stage your changes
git commit -m "message" # save a snapshot
git push # upload to GitHubBeginner project ideas
- Personal portfolio website (HTML + CSS)
- Tip calculator (JavaScript)
- Weather dashboard using a public API (fetch)
- To-do list app (React state + forms)
- Movie or book search app (React + API)
Knowledge Check
Test what you learned. Each correct answer earns XP. up to 65 XP
1. Which CSS features are the primary tools for responsive layouts?
2. What does `const [count, setCount] = useState(0)` do in React?
3. Which HTML is the most semantic and accessible for a clickable action?
4. What is Git mainly used for?
5. In the CSS box model, what order does spacing go from the content outward?

