An offline-first phone app for tracking a casino trip.
Keeps a running bankroll across a casino trip and logs sessions and spending in a
few taps — live and tournament poker, slots, table games, and non-gambling spend —
each tagged to the casino where it happened. A bankroll graph and trip-review
screens let you see how a trip went, broken down room by room.
Designed for one-handed use on an iPhone and built to keep working without a
signal: trip data lives on the device, so logging continues even when the casino
floor has no reception. Casinos come from a built-in catalog you can extend with
your own custom rooms and logos, and each trip draws from the set you pick at the
start.
Because everything lives in on-device storage, there’s a manual backup path:
export your whole history to a single JSON file and import it back later, choosing
to merge it in or replace what’s there — enough to move data between devices or
keep a safe copy.
A personal board-game play tracker.
Shows my whole board-game collection as a grid of box art, tracking each play as a
meeple (wood for one play, silver for ten, gold for fifty). I can filter to a group
of players or a target player count to help pick the next thing to play.
The public view is optimized for use as a wall-mounted display; data entry is
locked behind an admin portal I reach from my phone.
Personal Blunder Trainer
Live Turns your own chess mistakes into practice puzzles.
Pulls in your Chess.com games, uses the Stockfish engine to find the moments you
went wrong, and turns those exact positions into training puzzles — so you drill
the patterns you actually get wrong until they stop recurring. It tracks repeated
weaknesses over time, links each puzzle back to the real game it came from, and
keeps every player’s history separate.
Built as three cooperating services — a web front end, an API, and a background
analysis worker — with careful data modeling so the same blunder across different
games is recognized as one recurring lesson.
Next Richer puzzle explanations and more trustworthy game-phase classification.
A browser-based, space-themed area-control strategy game.
Expand your territory across a solar system of planets, shoot down passing meteors
for resources, and build up turrets, rovers, launchpads, and drills to out-develop
your rivals. Win by seizing control of a shared central planet before anyone else
can.
It’s two pieces working together: a Unity game that runs in the browser, and a
lightweight real-time server for online matches. The clever part is that every
player’s screen reconstructs the same action from a shared random seed, so the
server stays small and cheap while play stays identical for everyone.
For now it plays against AI bots and sits behind a password on itch.io while it
gets some polish. The online multiplayer server is temporarily offline — an Azure
mishap forced me to delete the subscription that hosted it — so standing it back up
is the next thing on the list.
Next Standing the online multiplayer server back up — it's bots-only until then.
A playful household chore picker.
Pull open the drawer to draw a random chore that’s currently due, then pin it to
the wall to commit to it. Up to three accepted chores hang on brass tacks and
persist across visits, so one you took but couldn’t finish is still waiting next
time. When you’ve actually done it, drag the slip off its tack and let it float
away. Chores recur on a set cadence — daily, weekly, monthly, or quarterly — and
resurface once their window lapses.
It’s a personal household tool, themed like an old library card catalog. A shared
PIN gate keeps strangers out of the public URL — first visit redirects to an
unlock page, and entering the PIN sets a signed 30-day cookie.
Next Build a visual number pad for PIN entry — make unlocking the site a tap-friendly keypad rather than a plain text field.
A personal macro and nutrition tracker.
Plan meals across the day, track water and macros (calories, protein, fat, carbs,
sugar, fiber) against personal goals, and review a day-by-day history. Goals are
computed from each person’s profile, and a built-in food search pulls nutrition
data straight from the USDA database so entries fill themselves in.
Every account’s foods, plan, history, and settings are fully separate. It started
life as a Google Sheets-backed script and has since been rebuilt as a proper
self-hosted web app.
Next Feature direction is set by the app's primary user — its de facto product manager.