My finances were a mess in the quiet, avoidance-inducing way. PDFs sat unread. I had no idea where my money was actually going. And I wasn't about to hand all of that to a budgeting app I didn't control.
This became my first AI agent project. built entirely with Claude.
The Problem
Banks gives you your full statement history, but it's locked in PDFs. Turning those into something useful meant manually cleaning and categorizing hundreds of transactions every month, a task I kept putting off indefinitely.
Spending, bills, and investments all lived in separate places. There was no single view.
The Insight
I wanted something private and local, where AI does the tedious parts so I can just show up and look.
The best design decision: make the human the last step, not the only step. The AI categorizes everything first, I just confirm or correct.
What I Built
A full-stack local web app: PDF/CSV statement import, AI-powered categorization, and a live dashboard for spending and investments with optional AI insights.
Statements get parsed and stored in a local SQLite database. A three-tier categorization pipeline runs automatically. custom rules first, then keyword matching, then a local LLM (Ollama). The Review screen turns the confirmation step into a quick, low-effort workflow: the AI guesses, I approve or fix, and any correction I make becomes a permanent rule.
The Dashboard shows monthly spend by category, burn rate, and runway. A Portfolio view pulls live investment data from a Google Sheet I maintain with TFSA, GICs, retirement accounts which are displayed alongside spending with no extra logins. An AI Insights endpoint assembles all of this context and generates a short list of observations and warnings.
Everything runs locally. Nothing is sent to any external service except a read-only call to my own Google Sheet.
Impact
- Bank statement PDFs → organized dashboard, automatically, every month
- Categorization went from a dreaded manual job to a 5-minute confirmation session
- Saw for the first time which categories were quietly eating my variable spend
- Investments and spending visible in one place instead of three separate logins
- My first shipped AI agent. learned how to build LLM pipelines, local inference, and human-in-the-loop review flows