DiscoveryVIPExplore the learning library ↗

JAVASCRIPT MASTERY LAB / LEARN BY MAKING

Less watching.
More “I built that.”

Fifty lessons. Real JavaScript. A place to make mistakes, understand the result and try again.

Beginner → practical projects · No sign-in · Your pace

● ● ● your-next-skill.js
const skills = [
  "understand",
  "experiment",
  "build"
];

skills.map(skill => `${skill} →`);
Small steps. Visible progress. 50 chances to try.
0 / 50exercise checks passed

YOUR CHALLENGE

Explore the test cases before coding

Checks compare results for these examples. They do not prove correctness for every possible input or enforce a particular coding technique.

Draft saved locally

Real JavaScript in a time-limited worker. Use solve(input); async is supported. No document/window, network calls or module imports. Runs stop after 2 seconds. Ctrl/⌘ + Enter runs checks.

Write your solution, then run the checks.

Experiment with your own input

This reports your return value without grading or marking the lesson complete. Keep the input shape appropriate for the selected lesson.

Console output
No output yet.

Make the idea stick