Read it. Question it.
Then explain it back.

Most AI study tools generate content and stop. You have one high-energy session, produce thirty explanations, and never return. Nothing checks whether you can actually say any of it.

The gallery is open — no account needed to look around.

One topic, all the way through

The loop is the product. Every part of the app either feeds it or doesn’t exist.

  1. 01

    Draft the outline, then take it over

    Say what you're learning and at what level. You get 25 to 40 ordered topics — a starting point you immediately rename, reorder and cut down to what you actually need.

  2. 02

    Read the explanation

    Written for someone who already codes: what the thing is, how it works, where people get it wrong, and what an interviewer is really testing when they ask.

  3. 03

    Keep asking until it runs out of depth

    The Ask tab knows what the explanation said. There's no cap on how far you take one topic, and a good answer can be promoted into the explanation itself.

  4. 04

    Explain it back, out loud-length

    Open questions phrased the way an interviewer speaks. Marked against a rubric written alongside the question, so partial credit is real and the feedback names the specific thing you left out.

  5. 05

    The gap comes back for you

    Whatever you missed becomes a weak spot and returns on a schedule that stretches when you get it right and resets when you don't. Readiness only moves when you've proved it.

The explanation is yours to fork

Too dense? Ask for it simpler. Too shallow? Go deeper. Want it in code, or built on an analogy that actually holds? Every rewrite becomes a new version, and nothing is ever thrown away — switch back to the first draft years later if you want to.

Try it — the controls on the right are real.

Memoisationv1
4 versions kept

Memoisation trades memory for time.

You keep the result of a call keyed by its arguments, so the second identical call returns the stored value instead of recomputing it. It only holds when the function is pure — same inputs, same output, no side effects — because otherwise the cached answer stops being the right answer.

Nothing is overwritten. Switch back to v1 whenever you like — or promote a good answer out of the chat into a version of its own.

Readiness you had to earn

A topic counts as ready when you’ve passed a question on it. Not when you’ve read it, not when you’ve highlighted it — when you said the thing back and the rubric agreed.

Advanced JavaScript

senior

0 proven of 6

Ready means you passed a question on it — or said you already knew it. The ring shows which is which.

  • Closures and the variable environment
  • The event loop and task queues
  • Prototypes and the lookup chain
  • Generators and lazy evaluation
  • Structured cloning and transferables
  • WeakMap and reachability

Or start from someone else’s work

Clone a published track and every topic, explanation and example lands in a folder you own — editable, and without a single AI call on your behalf.

All tracks