Building Finance OS
What it is, how I built it, and what a private finance app taught me about imports, reading messy statements, and trusting the numbers.
Prototype · Finance OS
What it is
Finance OS is a private finance dashboard I built for myself and keep on my own machine. I upload statement exports (CSV, Excel, PDF), and the app imports, categorizes, and explains them: grades over time, spending guidelines, cash flow, retirement, insurance, and net worth. There is no cloud bank link. Real money does not move. It organizes files I already download.
How I built it
I started because I was tired of tracking finances the old way. My old spreadsheet worked, sort of, but it was slow, exhausting, and I never fully trusted the numbers. Without an engineering playbook to follow, I opened Cursor and started building, one messy export at a time. What I am good at is noticing a painful process and refusing to live with it.
The shiny product idea is “connect your bank.” I didn’t. I don’t want my balances living on someone else’s cloud. That choice made the real problem obvious: the hard part isn’t a pretty chart. It’s teaching the app to read messy files and then provide valuable visual insights about my money.
Different institutions format statements differently. A paycheck and a deposit can look like two incomes. Paying a credit card from checking can look like double spending. Investment gains are not take-home pay. Every one of those mistakes taught me the same lesson: when the app is unsure, it should ask, not guess.
A wrong or unexplained grade on the dashboard that looks official is worse than providing no grades at all. Making the inputs honest took the real effort.
What I learned
What I took away wasn’t personal-finance product advice. It was how to build a private app with AI that I actually trust with my numbers.
I learned how to build an app that runs on my machine: the screens you see, the logic underneath, and a place to store the data. I learned how hard file imports are: CSV, Excel, and PDF statements present the same kinds of information in different ways, which can create inconsistencies or confuse the app. I learned how to pull text out of scanned or photo PDFs when the file is basically a picture of a page, not real selectable text. I learned how to use Cursor to build imports, categories, and grades without sending my balances to a cloud service connected to my personal bank accounts.
I also learned product judgment the hard way: confirm when unsure, and don’t put a confident letter grade on a homepage until the inputs deserve it. Cursor made the building possible. Judgment made it trustworthy.
Want the full picture of this prototype?
View Finance OS →