← Choose another age

Ages 12+

Build real web pages with HTML, CSS, and JavaScript β€” layouts, canvas games, APIs, and a portfolio.

1

Your First Web Page

Every website you've ever visited is text like this: HTML tags that describe the content. Write a few tags, press Run, and you've published a page.

Badge: πŸ… HTML Starter

2

CSS: Make It Look Good

HTML is the content; CSS is the style. Colours, fonts, spacing, rounded corners β€” all of it comes from a handful of CSS rules.

Badge: πŸ… CSS Stylist

3

Flexbox Layout

Real sites arrange things in rows and grids. Flexbox is the layout tool professionals reach for first β€” one line turns a stack into a row.

Badge: πŸ… Layout Engineer

4

JavaScript Meets the Page

HTML and CSS are static. JavaScript makes a page react. Find an element, change its text, and the page updates instantly.

Badge: πŸ… DOM Explorer

5

Click Events

Interactivity means listening. addEventListener waits for the user to click, then runs your function. This is how every button on the web works.

Badge: πŸ… Event Handler

6

Reading Form Input

Sign-ups, searches, comments β€” all of it starts with an input field. Read what the user typed and use it.

Badge: πŸ… Form Builder

7

Building a To-Do List

Instead of writing HTML by hand, JavaScript can create it. Type a task, press Add, and a new list item appears out of nowhere.

Badge: πŸ… App Builder

8

CSS Animations

Motion makes an interface feel alive. Keyframes describe how something changes over time, and the browser does the rest at 60 frames per second.

Badge: πŸ… Animator

9

Drawing on Canvas

Canvas is a blank rectangle you paint with code β€” the foundation of browser games, charts, and generative art.

Badge: πŸ… Canvas Artist

10

Game Loop with requestAnimationFrame

Games redraw the screen 60 times a second. requestAnimationFrame asks the browser for the next frame β€” clear, move, draw, repeat.

Badge: πŸ… Loop Engineer

11

Keyboard Controls

Now the player takes over. Listen for arrow keys, move a square, and you have the core of every arcade game ever made.

Badge: πŸ… Controls Coder

12

Fetching Data from the Internet

Modern apps get their data from APIs. fetch() asks another computer for information, and await waits politely for the reply.

Badge: πŸ… API Caller

13

Project: Build Your Portfolio Page

Final project: a complete personal page. Semantic HTML for structure, flexbox for layout, CSS for style, and JavaScript for one interactive touch β€” a dark-mode toggle.

Badge: πŸ… Web Developer

Mini projects to try

🎨 To-Do App🎨 Canvas Game🎨 Keyboard Controls🎨 API Widget🎨 Portfolio Page