How far has AI come? Far enough to do my finances in an afternoon.

Hand Claude Code the bank and card exports you already downloaded. It builds one offline dashboard — every subscription, real spending under the transfers, where the money actually goes. No bank login. Free.

You’ll need Claude Code and a paid Claude plan (Pro works; Max with Opus 4.8 is cleanest). About 20 minutes, start to dashboard.

This used to be days of work: export everything, sort each line, strip out the transfers, add it up, and try to make it mean something. Two years ago the AI was bad at exactly that. This time I handed it the whole pile and it did the categorizing and the analysis in a couple of hours, and it held up. So I cleaned up the prompt and published it here, kept open so you can read every line before you run it. It isn’t a polished product — it’s an experiment you can run on your own statements to see how far AI has come.

Mahmoudfinance.mahmoudhalat.com · an experiment, not a product
01The dashboard

This is what it built.

Eleven interactive sections, built from one prompt and opened by double-click. This is a preview on fictional data — open the full demo to click through it.

finance-dashboard.html — demo · fictional dataopen ↗

02What surprised me

What you actually get.

Speed

Days of work, gone

The part I always quit on, categorizing thousands of transactions and separating real spending from the transfers, took a couple of hours instead of a couple of weekends.

Two years ago the same models would invent categories and quietly drop rows.
Private

No bank login, no middleman

You hand Claude the exports you already downloaded, not your bank password. No aggregator, no finance company sitting on your data. Claude reads the statements to do the work, and the dashboard it writes is a file on your machine.

On a paid plan, Anthropic doesn't train on or share them.
Real

The numbers reconcile

Real spending split from transfers, every subscription's true monthly run-rate, an auditor's-eye risk read. Not tidy charts, but numbers you can trace back to the line that made them.

I checked the parts that used to need a human. They held.

03Where it fits

Honest about the trade-offs.

This is a one-time analysis you run yourself, not a budgeting app someone keeps running for you. If you want live bank sync, a mobile app, and a team maintaining it, the paid tools are genuinely better. Here’s where this experiment sits next to them.

ToolPriceBank loginBest for
Monarch$99 / yrYesShared household budgeting
Copilot~$95 / yrYesApple users who want a daily app
YNAB$109 / yrOptionalChanging spending habits
Rocket MoneyFree – $14/moYesAuto-cancelling subscriptions
Actual BudgetFreeOptionalSelf-hosted envelope budgeting
This experimentFreeNoA one-time analysis you run yourself

Prices verified 2026-06; they change. The paid apps log into your bank and keep your data on their servers; this never logs into your bank. They win on live sync, mobile, and being maintained for you. Different tools for different jobs.


04Run it yourself

Two ways in. Both free.

$ git clone MahmoudHalat/claude-finance-dashboard
# drop your CSV / XLS exports in, open Claude Code, paste the prompt
$ open Financial-Dashboard.html
For anyone

The one-shot prompt

Drop your exports into a folder, paste the prompt into Claude Code, and it writes the pipeline and builds your dashboard for you. You don’t need to read a line of code, and nothing connects to your bank or hands your statements to a third party.

Get the prompt →
For the technical

The repo

Fork it. The renderer, the data contract it draws from, and a README written for someone who is going to read the code. The pipeline is left out on purpose, so Claude writes a fresh one tuned to your banks.

Star it on GitHub →

05Field notes

Notes from the way there.

All field notes →

06Questions

Straight answers.

Is it really free?

Yes. The prompt, the pipeline it generates, and the dashboard are open-source under the MIT license. There is no account and no paywall.

Is my financial data private?

No bank login and no aggregator. Claude reads your statements to do the analysis, so they go to Anthropic like any other Claude prompt. On a paid plan (Pro, Max, Team, or API), they aren't used to train models, and they're never shared or sold. The dashboard it builds is a single offline HTML file that stays on your machine. The free tier's data terms are looser, so use a paid plan for real statements.

Which banks and cards does it work with?

Any bank or card that lets you export CSV, XLS, or XLSX. Claude reads whatever columns your statements use and adapts the pipeline, so you never have to reformat your files.

Do I need to know how to code?

No. You install Claude Code, drop your exports in a folder, and paste one prompt. Claude writes and runs the code for you.

What does it actually find?

Every subscription and how its price changed, real spending by category over months and years, income by source, transfers by person, and a tax-audit risk read.

Can I share my dashboard without exposing my real numbers?

Yes — ask Claude to make an anonymized copy. It jitters the amounts and swaps every name for a realistic fake, so the charts stay believable but nothing real shows. The demo on this site was made exactly that way.

What is AEO, and why does this site mention it?

AEO, or answer engine optimization, is making content easy for AI search engines like ChatGPT and Perplexity to cite. This tool was built by Space & Story, an AEO-first studio, as a demonstration.


07Who’s behind it
I’d wanted a real read on my own money for years. This is the afternoon I finally got one, by handing the boring part to Claude Code.

I’m Mahmoud Halat. I spent a decade turning messy data into systems you could read, and this was that same habit pointed at my own ledger for an afternoon. The dashboard, the prompt, and the repo are free and open; it’s an experiment, not a product, and I’d rather it be useful than mine.

I build AEO-first sites and tools at Space & Story (this is one of them), make GiveFeedback, and write up the rest at mahmoudhalat.com. This one is just an experiment I happened to want for myself.


See it on your own statements.

Open the demo, grab the prompt, and see how far it gets on your own statements.