Public build

Proactive Family Finances

Our family finances have always run reactively. The data lives in a dozen vendor portals, categorizing transactions eats a weekend, and the question that actually matters - are we on track for the life we're building? - gets answered once a year at tax time. I've tried spreadsheets, Tiller, and good intentions; every version made me the data janitor.

This thriving quest is to flip that: an agent-native money system built on data we own. Agents handle ingestion, categorization, and reconciliation, and they earn autonomy through reviewed decisions. Hannah and I keep the only job that matters - deciding, together, once a month.

Current problem

Money management defaults to reactive. Statements pile up in vendor portals, categorization is manual, and goal progress stays invisible until tax season forces a look.

Thesis

Agents can run family bookkeeping end to end - on data we own - and earn enough trust that the humans only do the deciding.

Current progress

A working v1 exists: 5,862 transactions in a local database, a 160-rule categorization engine, Plaid feeds, and dashboards. It ran for a month, then went quiet - so the reboot starts with a stability audit, not new features.

Follow along

An intro essay is on the way. Until then, subscribe to the .

The build blueprints

Quest 01 taught me the pattern: write the philosophy and success criteria before the code, keep explicit decision and change logs, and publish the journey as it happens.

This quest inherits all of that, plus one hard lesson of its own: a system you build but don't operate isn't a system yet.

Design intents

  1. Philosophy first - every dollar decision traces to a written first-principles doc; when the numbers drift from the principles, the principles win
  2. Data we own - every transaction lands in a local database with provenance to its source; vendors are feeds, never the system of record
  3. Trust is earned - agents gain categorization autonomy through a confidence ramp of reviewed decisions, and spot-checks never drop to zero
  4. Built for two - Hannah and I work from the same numbers; a system only its builder can use doesn't count
  5. Proactive by default - the loop runs on a schedule and surfaces what needs attention before we ask; no new features until it runs without me

Success criteria

Status (2026-07-14)

This quest reboots a system I already built once. Between March 29 and April 25 I stood up the v1: 5,862 transactions synthesized into a local SQLite database from statements, Tiller, and Plaid; a categorization engine with 160 rules; goals and budget caps grounded in a 20-principle philosophy doc; three dashboards. Then it sat untouched for eleven weeks. The daily sync was never actually installed, the first real monthly review never happened, and a known reconciliation bug shows four rent-sized March charges where one is real. The build succeeded; the operation didn't exist yet. Closing that gap - in public this time - is the quest.

What's working

  • Owned ledger - 5,862 transactions in a local SQLite database, each row with provenance to its source
  • Categorization engine - 110 imported rules plus 50 learned through review; the first session covered 473 transactions with 5 corrections
  • Medallion architecture - raw feeds stay separate from the synthesized ledger, so any vendor can be swapped without losing history
  • Philosophy on paper - 20 first principles, from nine dimensions of financial freedom to a $30k/$60k/$100k stress shield
  • Privacy bright line - no cloud model ever touches bank credentials, and statements get masked before parsing

What's not (yet)

  • The "daily" Plaid sync was never installed - the automation pointed at a directory that doesn't exist
  • The first real monthly review never ran - the loop the whole system exists for
  • Re-synthesis wipes manual data fixes - the rent bug was hand-corrected in April, then a later pipeline run resurrected the phantom rows
  • The philosophy is my draft alone - Hannah's input isn't in it yet
  • The docs claim numbers the database can't back - drift in both directions

Next

Stabilize before extending. Wire the daily sync for real, move fixes into rules instead of hand-edited rows, and run the first genuine monthly review with Hannah. New features wait until the loop has run start to finish.

Key milestones

  1. Categorization engine liveCompleted milestone

    First session: 473 transactions reviewed, 5 corrections. The engine earns autonomy through a confidence ramp - spot-checks never drop to zero.

  2. Privacy bright line drawnCompleted milestone

    A security audit found unmasked account numbers in session logs and set the rule that governs everything since: no cloud model ever touches bank credentials, and statements get masked before parsing.

  3. Plaid feeds + medallion databaseCompleted milestone

    Raw sources (statements, Tiller, Plaid) stay separate from the synthesized ledger, so any vendor can be swapped without losing history. Three banks linked.

  4. Philosophy: 20 first principlesCompleted milestone

    From nine dimensions of financial freedom to a $30k/$60k/$100k stress shield - the reasoning layer every number in the system must trace back to.

  5. Budget caps + named dollar amountsCompleted milestone

    Every category got a monthly cap; every goal got a dollar amount and a visceral label. Then the system went quiet for eleven weeks.

  6. Quest goes publicCompleted milestone

    This page. The reboot starts with a stability audit that measured exactly where v1 broke - not with new features.

    Changelog entry →
  7. The pipeline runs itselfUpcomingUpcoming milestone

    Daily sync installed and verified for 30 straight days, reconciliation fixes living in rules instead of hand-edited rows, zero manual steps.

  8. First real monthly reviewUpcomingUpcoming milestone

    Hannah and I sit down with live numbers and make decisions together. The loop the whole system exists for.

  9. Money stops living in our headsUpcomingUpcoming milestone

    The win condition: the system surfaces what needs attention before we think to ask. We think about money when we choose to, not constantly.

Quest log

Quest 02 starts with an audit, not a feature

The family-finance v1 I built this spring - 5,862 transactions, a 160-rule categorization engine, Plaid feeds from three banks - sat untouched for eleven weeks. The reboot begins by measuring exactly where it broke.

Essays from this quest

None yet - mature changelog threads graduate here.