
Meet Cameron: a personal finance agent you own and run
Cameron is a local-first personal finance agent you own and run yourself. v1 shows how an LLM loop, tools, and an approval gate compose into an agent you can trust with real money.
The case study
Building a local-first AI finance agent, in public — one release at a time.
A local-first personal finance agent you own and run yourself — an AI agent you can trust with real money because it never acts without your approval. Built in public, one tagged release per article: each entry adds a capability to the same agent instead of starting over, so you learn agent engineering by watching one real system grow.
Most agent tutorials build a throwaway toy and move on. Cameron is the opposite: one real agent that grows across the series, so you see how tools, memory, and safety actually compound into a system you can trust. And it is local-first by design — your financial data never leaves infrastructure you control, which is exactly the constraint that makes the engineering interesting.
These hold every version and explain why the code is shaped the way it is:
Each version is roughly one or two articles. The ecosystem may reorder or insert versions along the way — that’s the point.
The starter as-is: chat loop, streaming, persistence, dynamic MCP tool loading, human-in-the-loop approvals, and multi-model support that everything else builds on.
Identity and persona, a transaction store you own, and approval-gated finance tools (log, query, guarded SQL, fail-loud CSV import). "Meet Cameron."
Budgets and preferences as long-term memory, plus summarization of aging history.
DemoBank as a standalone MCP server — build, secure with OAuth, deploy; Cameron consumes it as a client.
A skill format and loader; the first skill: spending reports and charts.
Receipts and statement ingestion; retrieval over financial documents.
Semantic tracing and observability, a categorization eval harness with gradeable ground truth, and a release regression suite.
A scheduler, weekly digest, subscription-creep detection, and an approval queue for actions taken while unattended.
A messaging gateway for alerts and digests over Telegram / WhatsApp.
Subagents — a tax-season agent, a big-purchase research agent — and context flow between them.
Cameron detects capability gaps, drafts its own skills, tests them in a sandbox, and requests approval through the same gate. The payoff.