Lab · 9 experiments
Small things, built to find out
Games, tools and prototypes, each self-contained and playable here. Some are useful. Some were just a good afternoon.
- Hardwood GMDraft a team of real players, meet your coach, survive an 82-game season. Every result explains itself.gamePure TypeScript engine, seeded, calibrated against 300 simulated seasons
- HomefrontType your address and defend your actual house. The map is drawn live from OpenStreetMap.gamePhaser 3, TypeScript, OpenStreetMap, no API keys
- Penguin PosseCowboy penguins defend a desert village from snakes, spiders and scorpions. Tower defence, western.gamePhaser 3, TypeScript, Vite, synthesized sound
- TrebuchetDrag back. Let fly. Crowns must fall.gameCanvas 2D, 95 KB, no dependencies
- Disc GolfThree holes above Durango. Drag to aim, release to throw. The wind is real.gameCanvas 2D, 33 KB, no dependencies
- AIwithKahlil LinksA Linktree replacement in one page — your brand, your links, no subscription.toolOne page, one content file
- HangxietyA night-out safety app. The waitlist is live.appIn development — waitlist live
- Court Appeal BracketA 16-team drag-and-drop tournament bracket for settling arguments properly.toolSingle HTML file, no build step
- Court Appeal JeopardyJeopardy, but every category is the Court Appeal podcast.gameSingle HTML file, no build step