# Explore apps built by Steve and Claude (2026) > Small apps that Steve Howell and Claude built, each one a row of > the home page (/). Every app's code is public, under > https://github.com/showell/angry-gopher. ## Apps - [Shale](/shale/): A scripting language for agents, built by agents, for the everyday work on a project's files: finding, reading, renaming, editing. Fifteen short lessons build a small blog a script at a time, right in your browser. (Zig (WASM) + JavaScript; the Shale interpreter compiled to WebAssembly; each lesson's scripts run against an in-memory project in the browser) - [Code](https://github.com/showell/shale) - [Safari Screensaver](/driving): 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. (Zig (WASM) + JavaScript; a Zig core compiled to WebAssembly computes the 3D geometry; a tiny JS blitter just fills the polygons it emits) - [Code](https://github.com/showell/angry-gopher/tree/master/games/driving/wasm) - [Install locally](/safari_download/) - [Chat](/chat): 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. (JavaScript, Zig; live updates over Server-Sent Events; messages persisted to the file system, no database) - [Code](https://github.com/showell/angry-gopher/tree/master/chat) - [Seattle Delivery](/delivery): 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. (Zig (WASM) + TypeScript; Clarke-Wright savings heuristic + local search over an integer, trig-free cost) - [Code](https://github.com/showell/angry-gopher/tree/master/delivery) - [Play Lyn Rummy](/game): 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. (Zig (WASM) + Elm + TypeScript; a rules DSL sent over the wire — a zig solver picks the plays, an Elm UI referees and renders them) - [Code](https://github.com/showell/angry-gopher/tree/master/games/lynrummy) - [Lyn Rummy Puzzles](/puzzles): 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) - [Code](https://github.com/showell/angry-gopher/tree/master/games/lynrummy) - [Chess Toys](/chess): 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) - [Code](https://github.com/showell/angry-gopher/tree/master/games/chess) - [Read more](/chess/code) ## Optional - [Resume for Steve Howell](/steve-resume)