Inspiration
Personal finance tools today force a choice: either trust a SaaS platform with your financial data, or cobble together brittle scripts against undocumented APIs. My previous projectmonarchmoney-cli proved that agent-friendly CLI contracts were valuable, but it depended on a third-party platform as the source of truth. Existing open-source alternatives either embedded AI behavior, assumed a full web-app stack, or carried architecture decisions that didn't fit a small local backend.
I wanted the smallest possible finance backend that a human or an AI agent could talk to, one that stores data you own, runs without a server, and never go online unless you explicitly tell it to sync.
What it does
money is a local-first, self-hostable personal finance backend. It:
- Pulls account and transaction data from user-configured providers (Plaid, Bridge) into an local encrypted SQLite database.
- Exposes stable CLI commands with deterministic JSON output that any external agent can parse reliably.
- Keeps AI out of the core. Reasoning, memory, chat, and recommendations belong to your external agent.
moneyis the plumbing, not the brain.
How we built it
Write detailed docs that cover EVERYTHING, then run /goal until it's done.
Challenges we ran into
⚠️ API call failed (attempt 1/3): RateLimitError [HTTP 429]
Accomplishments that we're proud of
Clean boundary architecture. Provider adapters, finance core, store layer, and JSON contracts are genuinely independent modules. Swapping Provider later should not touch the core or the CLI contracts.
Working contracts from day one. Every stable command has a contract test that verifies JSON shape, field types, and sort order
Explicit error model. Errors are machine-readable with stable codes. No silent fallbacks.
BYOK provider model. No
moneyaccount, no subscription, no managed proxy credentials. The user provides provider credentials locally; sync only happens on explicit command.Offline-capable by default. Read commands (
list,search) never make network calls. The tool feels like local infrastructure, not an app.
What we learned
Things go much smoother with enough prep.
What's next for money
- Import paths: CSV, Apple Card export, Monarch export
- Split transaction support with local schema and write safety
- Additional providers: MX, Finicity
Log in or sign up for Devpost to join the conversation.