A browser puzzle game about signal processing, running on a Canvas 2D engine I wrote from scratch in TypeScript.
Play It
Overview
Each puzzle gives you three input waveforms and three target outputs. You place chips (Add, Divide, Negate, Amp, Offset, Memory and more) and wire them together until every output matches its target. Solve a puzzle and it becomes a chip you can use in later puzzles, so chips can contain chips, all the way down.
The idea comes from signal chains in digital audio workstations. The concepts I used to route and process audio tracks became the game's core mechanic.
- Input A
- Divide
- Add
- Output X
WaveLength shipped in February 2026 as a public beta with six puzzles, a tutorial, and a creative sandbox mode.
Technical Highlights
- Cycles per edit
- 256
- Routing grid
- 66×36
- Passing tests
- 1,300+
- Puzzles at launch
- 6
- Instant evaluation. Every edit re-runs all 256 cycles of the signal right away, so there's no run button. The chip graph is sorted topologically and evaluated in order, and a warm-up pass lets Memory chips wrap around so cycle 0 can read cycle 255.
- Recursive chips. A solved board compiles into a single function plus metadata that can rebuild it, so the puzzle becomes a reusable chip. Re-saving a chip updates every copy of it on every board.
- A* wire routing. Wires route themselves across a 66×36 grid using an 8-direction A* search with a turn penalty that favors clean, straight runs and 45° bends.
- Three-pass wire rendering. Each wire is drawn as a neutral base, a glow that grows as the signal nears full strength, and a polarity color, with pulses animating along the wires in order of graph depth.
- Zoom transitions. Entering a level zooms the camera into its chip on a "motherboard" level select, with eased camera motion and a spring-eased reveal.
- Built to last. Full keyboard play with focus management, undo/redo, versioned save migrations, design tokens, and 1,300+ passing tests across 81 test files.
AI-Assisted Development
WaveLength was built with Claude Code as a development partner. The approach focused on context management: planning the work as epics and stories, breaking large problems down, and giving the agent the right context at the right time.
With careful context management, clear specifications, and deliberate architecture decisions, AI-assisted development can produce creative, stable, and unique software quickly.
Impact
The LinkedIn showcase post gained 178 likes and 29 comments, sparking discussion around context management as an emerging critical skill in AI-assisted development. Community suggestions included adding MIDI support and export functionality.
