Expense Dashboard
running · apps script · google sheets · ios shortcut
Logs a purchase from my phone in two taps. An iOS Shortcut sends the vendor, amount, and a
note to an Apps Script endpoint, which writes the row to a Google Sheet. The dashboard reads
that sheet and answers one question: am I ahead or behind for the month?
It shows spending pace against budget, a projected month-end total, what's left per day
across the days remaining, and a month-over-month comparison — all on a single
scrollable dark-mode page built for a phone screen.
Why I built it. Every budgeting app I tried wanted me to connect my bank accounts.
I wanted the opposite: nothing linked, nothing shared, two taps to log. The test of whether
it worked is that I still open it — not to log, but to look back at where the money went.
Morning Digest
running · apps script · time-driven triggers · notion api
An email that arrives before I'm awake with everything that matters that day, pulled from a
single Notion database and grouped by life area: the current quarter's focus with a live
days-remaining count, this week's picks, what's overdue, what I finished recently, and
what's sitting unsorted in the inbox.
A second script runs Sunday evening. It clears the week's selections and asks me to choose
again, so the list can't quietly accumulate into something I stop reading.
Why I built it. I had a well-organized system I kept forgetting to open. The fix
wasn't better organization — it was making the system come find me instead.
Activity Log
in development · apps script · google sheets
A web app for logging what I actually did today — washed the dishes, cut the grass, met
a friend for lunch — so that at the end of a month I can see where the hours really went.
Full add, edit, and delete in the app, so I never have to open the spreadsheet underneath it.
Most of the design work has gone into removing friction from logging, because a tracker you
don't use tells you nothing. Duration is a row of small buttons instead of a text field.
Start times are relative and clickable. Past entries autocomplete as you type. Time is
optional; only the date is required.
Why I built it. Time tracking tells you where hours went but not what they cost you.
Washing dishes and playing a game can take the same thirty minutes and leave you in
completely different places, so this one records whether an activity gave energy or drained
it. The goal isn't a tidier log — it's finding the hours worth reclaiming.