Modules
Pick a module and start building. Each module guides you through building one complete system from scratch.
Build an Interpreter
Write an `evaluate` function and grow it from arithmetic to a small language with variables, functions, conditionals, and data structures. By the end, you understand these constructs more deeply, because you built them yourself.
Build Hangman
Build a word-guessing game by breaking it into small, testable pieces. Learn to decompose a problem into functions and write tests that check your own work.
Build a Compiler
Coming SoonWrite a `compile` function that turns the same language you interpreted into stack bytecode, then build the virtual machine that runs it. By the end, you see both halves of what "compile" means -- and the hidden dependency your VM leans on.
Build a JavaScript Runtime
Coming SoonBuild JavaScript's call stack, event loop, and task queues from scratch. You run real JS through your own runtime and see exactly why console.log, setTimeout, and Promise.then execute in the order they do.