Build to understand

Our modules are built around solving problems and discovering the concepts along the way. There are no videos to watch or badges to earn.

Build it yourself

Each problem extends what you've already built. By the end of a module, you've made something complete that you understand from the inside out.

No hidden magic

We don't just introduce iteration as "using a loop." We help you understand what makes a process iterative, how its state evolves, and how to reason about it.

Code and curiosity

No sign-up, no video lectures, no gamification. Open the editor, write code, and watch the tests turn green.

Featured Module

Build an Interpreter

End up with a working language

Build a small language you can actually run, one that handles variables, functions, and recursion. You grow it from scratch, one capability at a time, starting with evaluating a single number.

JavaScript Environments Closures Recursion
Start this module

Work through problems in your browser with instant feedback.

View Module

Who this is for

If you'd rather build something than watch a video explaining it, this is for you. Maybe you want to understand a subject deeply instead of just getting through it, or maybe you just enjoy taking things apart to see how they work. Both belong here.

How it works
  1. 1

    Open a module

    Each module builds one complete system from scratch.

  2. 2

    Solve problems in order

    Every problem extends your previous code, guided by tests.

  3. 3

    Understand from the inside

    No black boxes. You wrote every line, so you know how it works.

No sign-up. Open the module and start building.

More modules in development.