Independent software, a little off on purpose.
A one-person operation. The person behind it works across law, data, and disaster, and would rather build one good object than ten extractive ones. New things land here when a problem looks worth solving and sounds fun to finish.
Works
Morass
A calm, turn-based strategy game of territory on living terrain. Place pins, watch the border between your ground and theirs settle like water finding its level. One universal app. And it collects nothing.
Gravel
A C++ library with Python bindings for network graph fragility analysis. Built-in OpenStreetMap support for road networks; the same engine operates on any directed weighted graph (electrical grids, telecom, water, or your own edge list) for disaster and national-security planning.
Kindling
A hybrid recommender that catches fast and grows with your data. Closed-form, with channels that switch themselves on by the shape of your data, no training loop, no GPU. Strongest personalized model on all four headline benchmarks, with a Rust core serving sub-millisecond.
WOPR
Five turn-based strategy games on one mobile-first menu, themed around WarGames (1983). Tic-Tac-Toe, Connect Four, Dots & Boxes, Go, and a full Global Thermonuclear War sim with interceptors, six CPU personalities, and a DEFCON ladder.
Tyche
A psychedelic randomizer for the small decisions you can't make. 27 official lists ship with the app (cuisines, dishes, Disney rides, workouts, scenarios) plus custom lists, multi-slot rolls, and five animation styles (slot, coin, dice, card, RPS prism). Named for the Greek goddess of fortune.
Embedding Playground
Words have positions. Measure the distance between them, do arithmetic on meaning (king − man + woman ≈ queen), walk through a word's neighborhood, and watch a polysemous word's competing senses fight over a single vector. Every calculation runs live in your browser on real GloVe word embeddings.