Alright. Starting this attempt to register my work in personal projects as I do them.
I heard this recently from a friend. It’s supposed to help recognize your progress and make a nice story in the end.
Historically, I struggle with “talking about my work”. I’d rather do it instead. I hope I’ll get more in the groove of presenting my work by writing these and these logs can become videos or other content forms in the future. We’ll see.
Ok, today I’m working on a personal finances dashboard. Not very exciting.
I had this on my list for a while now. What always stopped me was capturing all my transactions data and having a solid visualization with relevant metrics that I could use. Also, now I’m in the most stable moment of my life, so finances started to be more important as I’m thinking more about the future and planning for it.
I think I figured out the data part with some extracts I’m making from my bank now — just need the discipline to do them every month. So the only thing left is the viz.
I’m thinking about a dashboard in PowerBI (it’s been a while since I last used it — might be fun to dust it off) with key metrics brainstormed with chatGPT.
I think I can get all the viz together today. There are ~10 different charts suggested by chatGPT (see below). I’ll try to get to at least a minimum working version of each today. Let’s see how it goes.
Goal | What to chart / calculate | Why it’s useful |
See overall trajectory | Monthly net cash-flow line (income – expense) | Confirms if you’re saving or bleeding each month. |
Spot spend spikes | Stacked-bar of total spend by category per month | Tall outlier bars instantly show abnormal months and which category caused them. |
Drill into categories | Sunburst / treemap for a single month (Category → Sub-category → Merchant) | A single visual answers “where did the money go?” |
Track subscriptions | Recurring-payment table (merchant, amount, first/last seen) | Makes forgotten subs obvious; easy to prune. |
Detect anomalies automatically | For each category: z-score of current-month spend vs 12-mo mean; flag | You get an alert when “Restaurants” is 2 σ above normal. |
Compare to budget | Budget vs actual gauge (or traffic-light) | Shows which envelope is over/under at a glance. |
Long-term trend | 12-month rolling average per category line | Smooths seasonality; reveals creeping lifestyle inflation. |
Cash-reserve runway | (Current cash ÷ avg monthly expense) in months | Tells how long you could live on existing cash. |
Nice extras
- Calendar heat-map of daily spend (rows = week, cols = weekday). Great for spotting weekend splurges.
- Pareto chart of merchants: 20 % of vendors usually make up 80 % of spend.
- Cumulative “year-to-date burn” line vs same line last year – motivates improvement.
- Savings-rate gauge (1 – Expenses ÷ After-tax income). The single most powerful health metric.
- Investment contribution tracker (positive amounts in “Investment” category) to ensure you’re hitting targets.
Data hygiene first
- Keep a lookup sheet for Budget per category – lets you automate budget vs actual visuals.
Keeping it painless month-over-month
- Drop new CSVs into a folder; point a single Jupyter/Observable/Looker-Studio dashboard at it.
- Pivot on
Month
×Category
for almost every chart; the structure stays the same so visuals update automatically. - Save cleaned data to a second file so historical corrections don’t have to be re-done each month.
Ok, already got distracted. Instead of creating the data viz, I started to setup a project using my project framework in notion with initial requirements but sidetracked to create these:


Logo
Mascot
This made me think I may create little monkey mascots for all my projects? I kinda like the idea of my tools/scripts being like little monkeys.
For real though, now it’s time for the data viz.