I tried every budgeting app out there. Mint, YNAB, Money Lover, you name it. None of them worked the way my brain works. So I did what any developer would do: I built my own.
Why Not Use an Existing App?
Most finance apps assume a very specific workflow. They want you to categorize every transaction, set budgets by category, and review spending reports weekly. That’s great for some people, but my spending patterns are irregular and project-based.
I wanted something simpler: a tool that answers “how much did I spend this month?” and “am I on track?” without making me categorize 47 coffee purchases.
The Approach
I kept it minimal on purpose. A React frontend with a simple form to log expenses, a dashboard showing monthly totals, and a trend chart. No categories. No budgets. Just numbers and a line going up or down.
The data lives in a simple JSON structure. No database, no backend. Everything runs client-side with localStorage, with an export-to-CSV option for backup.
Lessons Learned
Constraint is a feature. By refusing to add categories, I actually used the tool more. Less friction meant I logged expenses consistently instead of abandoning it after a week.
Build for your actual habits, not ideal habits. I don’t review spending weekly. I check it when I feel like I’ve been spending too much. The dashboard is designed for that exact moment.
Side projects don’t need to scale. This tool has exactly one user: me. That freed me from every “what if” question and let me ship in a weekend.
It’s not open-sourced because it’s deeply specific to how I think about money. But the principle applies to any developer: sometimes the best tool is the one you build for yourself.