Product manager by day. After hours: self-hosted apps for one household, built alongside AI agents that plan, review, and ship.
Inventory and pricing for a trading-card collection, indexed against a reference catalog about 19,000 cards deep — cataloging, condition, and market value. The first vault to graduate to daily production use.
A daily net-worth ritual that started in Excel, rebuilt as software: accounts, balances, one number every day — computed, not copied. The original reason any of this exists.
The household recipe box without the ads or the life stories. What the family actually cooks — searchable, taggable, and a cook mode that won't let the screen sleep halfway through a recipe.
CAD-as-code drawer organization: a Python script measures each household drawer and generates every Gridfinity part custom — baseplate tiles, bins, lids, lift-out trays, anti-slide spacers — so the code is the source of truth and the STLs are disposable. Built with CadQuery, printed on a Bambu Lab X2D.
The shared playbook for working with AI agents: working agreements, skills, and guardrails, versioned in git and synced to every machine — so each agent session starts with the same context I would give a new teammate.
The physical side of the household: Home Assistant automations for the rooms the vaults only keep records about. Same private network, same philosophy — the house's data stays in the house.
Keeping an eye on the private network itself: which devices are on it, what's up, what's down, and who should be told.
Agents plan tasks, write and review pull requests, and handle routine operations. Anything that touches production waits for a human sign-off. The sandbox machine exists so agent work is isolated by construction, not by promise.
Principal product manager, working in financial reporting, in the San Francisco Bay Area. Before product: a decade in tax accounting, then business analytics — which explains both the daily net-worth habit and the tolerance for well-kept records.
Building software for my own household is the craft I practice after hours. Strong in Python, increasingly at home in TypeScript, and opinionated about clean branches, Conventional Commits, and tested code — because the agents hold me to it.