YOUR OWN PACE

Every small discovery counts.

Pick up where you left off. Progress is saved on this device, in this browser, without an account.

— / 56

Lessons completed

Marked complete by you, at your pace.

— / 20

Questions mastered

Correct submitted answers. Reveals do not count.

— / 12

Practices completed

Solution checks or project self-review completed. Saved separately from lessons.

Your first step starts here

— / 67 required steps complete · Saved in this browser.

Course 1 of 6 · HTML fundamentals

Start: Build your first HTML page →

Follow the recommended order or open any step. Optional previews, challenges, and playgrounds do not block completion.

One track at a time

HTML fundamentals— / 14
CSS fundamentals— / 12
Flexbox— / 4
CSS Grid— / 4
JavaScript— / 19
Local projects— / 3

Saved only in this browser. There is no account sync. Browser storage can be cleared by your browser or device settings.

Your coding practices

Pick up a new skill or revisit a completed practice.

STEP 1 · HTML
Progress loads in this browser

Structure a study plan

Use a main landmark, a heading, a paragraph, and a real list.

Open practice →
STEP 2 · HTML
Progress loads in this browser

Fix broken file paths

Use relative paths, parent folders, and CSS image references.

Open practice →
STEP 3 · HTML
Progress loads in this browser

Build your first complete HTML webpage

Build and review a complete HTML document without requiring CSS or JavaScript.

Open practice →
STEP 4 · CSS
Progress loads in this browser

Style a reading card

Target classes and control inner spacing, borders, and width.

Open practice →
STEP 5 · Flexbox
Progress loads in this browser

Center a card with Flexbox

Center content on both axes and understand why the rules belong on its parent.

Open practice →
STEP 6 · Flexbox
Progress loads in this browser

Build a responsive navbar

Combine nested flex containers, wrapping, and a media query.

Open practice →
STEP 7 · CSS Grid
Progress loads in this browser

Build a responsive card grid

Size equal grid tracks, add gaps, and change columns at a breakpoint.

Open practice →
STEP 8 · Flexbox + Grid
Progress loads in this browser

Build a complete landing page

Build a cohesive page that adapts from three columns to a mobile stack.

Open practice →
STEP 9 · JavaScript
Progress loads in this browser

Build a click counter

Select elements, listen for clicks, and update a counter.

Open practice →
STEP 10 · JavaScript
Progress loads in this browser

Build a greeting form

Read input values, handle submit events, and check for an empty name.

Open practice →
STEP 11 · Debugging
Progress loads in this browser

Fix this page

Repair a missing style, a script error, and a display that stays unchanged.

Open practice →
STEP 12 · JavaScript
Progress loads in this browser

Build a weather interface with asynchronous data

Handle empty input, loading, success, missing cities, and failure with a usable retry.

Open practice →

Passing solution checks or completing a project self-review records completion. Editing or resetting code keeps it; Clear progress removes it.

This removes your saved lesson, challenge, and practice progress. It cannot be undone. Your coding drafts are kept.