// learn JavaScript by running it, not reading it

Stop watching.
Start understanding

Drive the code yourself — scrub through every execution step, predict the output before it's revealed, and practice until it sticks. No video. No copy-paste.

free · opens in your browser · ~30s to your first lesson

arrays.js — live, scrub it yourself
[ ]
.length0
const stack = [];

Start with an empty array. Nothing inside yet.

1/5

The problem

Tutorials don't stick.

You watch. You nod. It all makes sense. Then you open a blank editor and… nothing. Passive learning feels productive — but the knowledge evaporates by morning.

Understanding comes from doing, not watching.

How it works

Every topic, three phases

A loop proven to build real understanding: see it, do it, prove it.

01
🧠

Learn

Drive an interactive visualization of how the code runs — one step at a time, at your pace.

02
💪

Practice

Get hands-on. Manipulate arrays, fill the blanks, and order the lines until the mechanics feel natural.

03
🎯

Test

Prove it. Predict outputs, find the bug, and confirm you truly understand before moving on.

What makes it different

Built to make it click

The #1 difference

Scrub through code, line by line

Every concept is a visualization you drive yourself. Step forward, rewind, watch the array grow and the values change. It's the difference between reading about execution and seeing it happen.

execution.js — you're in control
score=
0
let score = 0;

Declare score and set it to 0.

1/4
Predict before reveal

Guess the output first

Before any answer is shown, you commit to a prediction. That tiny moment of effort — being right or wrong on purpose — is what carves the concept into memory.

predict.js
console.log([1, 2, 3].length);

What prints to the console?

2
3
undefined
[1,2,3]

Commit to an answer first — guessing is what makes it stick.

Spaced repetition, built in

Knowledge that doesn't fade

Every quiz you pass is automatically scheduled to resurface — right before you'd forget it. Backed by decades of memory science, working quietly in the background.

reviews — auto-scheduled
Arrays · .push()Due now
Data types · typeofTomorrow
Intro · variablesIn 4 days
Arrays · .lengthIn 2 weeks
0

core JS topics mapped

0

playable now, more landing weekly

0

phases per topic: learn · practice · test

🔥 A daily streak keeps you honest, and spaced repetition makes sure what you learn today is still there next month — not just until the tab closes.

Ready to actually
understand JavaScript?

Open the first lesson and drive the code yourself. It's free, and it takes about thirty seconds to feel the difference.