JavaScript labs
7 projects you build and run in the browser, each one assembling the language features from the curriculum into something that works.
Todo App with a State Machine
Arrays, objects, DOM, delegation and localStorage, driven by explicit states.
intermediate · about 35 minutes
arrays · dom · events · state-machine · storage
Async Dashboard
Concurrent fetches, loading and error states, retries and cancellation.
intermediate · about 40 minutes
promise · concurrency · abort · error-handling
Canvas Particle System
requestAnimationFrame, delta time, vectors and a performance budget.
intermediate · about 30 minutes
canvas · raf · performance
Physics Playground
Drive a real physics engine (Matter.js) from your own JavaScript.
advanced · about 45 minutes
dynamic-import · library-integration · events · cleanup
Reactive Store with Proxy
Build the core of a modern framework in about sixty lines.
advanced · about 40 minutes
proxy · reflect · observer · batching
Mini Test Framework
Closures, arrays and errors, assembled into a working test runner.
intermediate · about 30 minutes
closure · errors · async · api-design
Debounced Search with Cancellation
Debounce, AbortController and race-condition safety, done properly.
intermediate · about 30 minutes
debounce · abort · race-condition · a11y