Explore apps built by Steve and Claude (2026) · Code on GitHub ↗
Eight trucks fan out across a deliberately not-to-scale Seattle, delivering a hundred orders a day. The route-planning is a hand-built Clarke-Wright solver — watch it think, or shuffle up a new shift.
TypeScript Clarke-Wright savings heuristic + local search over an integer, trig-free cost

A first-person motorcycle ride down a winding road — and it steers itself. Hit space and watch it lean through the turns, or step the ride frame by frame. No goal, no clock — just the road.
Read more →Code on GitHub ↗Install locally →
Zig (WASM) + JavaScript a Zig core compiled to WebAssembly computes the 3D geometry; a tiny JS blitter just fills the polygons it emits
Real-time chat, docs, and channels — the live surface Steve, Claude, and friends use every day. A multi-page app that's still mostly rendered on the front end, all served from one binary.
JavaScriptZig live updates over Server-Sent Events; messages persisted to the file system, no database
Notes from building this site — one zig binary, written with Claude. Essays on the code, the algorithms, and what we learned along the way.
Zig a hand-written markdown engine renders posts from repo files on the fly
Two-player rummy with a real referee. Build runs and sets against an agent that actually knows the rules, and complete your turn when the board looks right.
Tutorial →Read more →Code on GitHub ↗
Zig (WASM) + Elm + TypeScript a rules DSL sent over the wire — a zig solver picks the plays, an Elm UI referees and renders them
A single board, mid-game. Drag stacks to merge or split your way to a clean meld layout. Solo, no opponent — undo is free, and Replay walks back your moves.
Zig (WASM) + Elm + TypeScript shares the game's solver and rules; deterministic undo and move-by-move replay
Classic backtracking searches you can watch think: the Knight's Tour (visit all 64 squares exactly once) and Eight Queens (none attacking another). Pieces pile onto the board, hit dead ends, and get pulled back off — red squares mark where attempts died. Pause, scrub backwards, start from any square — and read the zig it all runs on.
Zig (WASM) + JavaScript one shared engine — searches emit an event tape of place/remove moves, so every animation scrubs forwards or backwards