I Stopped Logging Transactions for 6 Months. Here's What I Built Instead.
I tracked every transaction for 5 years. Then I stopped for 6 months. Catching up took days. The fix wasn't more discipline. Here's what I built instead.
I tracked every personal transaction from 2020 through May 2025. Five years. Around 4,600 entries by the end. I called it my financial diary because that's honestly what it was. A record of my life, written in transactions instead of words. I'm an accountant by profession, so the tracking habit kind of came with the job.
Then in June 2025 I started building a web puzzle app and stopped opening my tracking app. I didn't decide to stop. I just got busy and the diary slipped, and after a week I wasn't logging anymore. The days stacked up. Catching up got harder and harder. And the longer I went, the more avoidable it seemed to keep avoiding it.
By November 2025 I had six months of unlogged transactions. When I finally sat down to catch up, it took days. Hunting through bank statements across multiple accounts. Matching credit card charges to memories that had already gone soft. Trying to remember why I went to a particular café in August. Why was that $80 charge on a Tuesday afternoon? I had no idea.
I came out of that catch-up with two thoughts. The first was that the entry method was the wall, even for me. The second was that I should build the app I'd been wanting to build for years.
What I Noticed Once I Was Doing the Catch-Up
Sitting there with six months of receipts and bank statements, I started doing math I hadn't bothered with before. Each transaction in my old app took maybe 20 to 30 seconds to log: tap add, type the amount, pick a category, pick an account, set the date, save. Five transactions a day, most days. Six days a week. That's roughly 1,500 entries a year. At 25 seconds each, that's over 10 hours a year of pure form-tapping if you actually keep up.
Ten hours a year is fine if you actually do it. The thing is, you don't have to miss many days before catching up costs more than the original logging would have. After three weeks I was making up categories for charges I couldn't remember. By week eight I'd basically quit. And it took me a long time to want to open the app again.
What made me realise the entry method was the wall, even for me, was that I'd had this habit for five years. Five years, and the tracking just dissolved when life got busy enough. The habit kept me at it longer than most, but six months of building software was enough to break it. When I came back, the tool I'd used for five years felt like work I didn't want to do.
So the question wasn't really about discipline. It was about whether the daily entry surface could shrink enough that missing a day stopped being so expensive.
How I Started Thinking About the Entry Problem
It actually hit me during the catch-up. I was logging my Netflix subscription the same way I was logging a random coffee, even though one of those was the same monthly charge I'd entered eleven times already. The repetitive ones and the surprises were going through the same form. Felt dumb.
So the first thing that helped was noticing that not all transactions are the same.
Some of mine were predictable. Rent, salary, phone bill, gym membership, streaming subscriptions, the regular grocery transfer, savings contribution, debt payment. I knew these were coming. I knew how much. I knew when. They weren't surprises. There was no good reason they should require manual entry on the day they hit. They could just be scheduled in advance and confirmed when they actually happened.
The rest were unpredictable. Coffee I didn't budget for. The $15 lunch I grabbed because the meeting ran late. A friend's birthday gift. A surprise refund. A one-off purchase. These I couldn't schedule, because I didn't know they were coming.
Most apps treat both kinds the same. Every transaction goes through the same form, regardless of whether it was a predictable monthly bill or a one-off ad-hoc charge. So the predictable stuff (which could just be scheduled) gets manually logged anyway, because the tool doesn't have a way to pre-populate it. The work multiplies for no real reason.
I wanted to handle the two kinds differently.
Why I Started With Scheduling
For the predictable stuff, what I wanted was: every recurring transaction stored as a scheduled event with a date and an amount. Not a "category limit." A specific event. Rent, $X, the 1st of each month. Phone bill, $Y, the 14th of each month. Salary, $Z, every other Friday. Gym, $W, the 7th of each month.
When the date arrives, the transaction is already there. You don't enter it. You confirm it (one tap if it's the expected amount on the expected day) or you adjust it (if the amount changed). Either way, it takes a tap, not a form.
That structure handles the bulk of transactions for most people. By volume, predictable stuff is usually 70 to 90 percent of monthly entries. Rent, bills, subscriptions, recurring grocery shops, transport, the budgeted spending categories. If those don't need manual entry, the daily logging surface shrinks a lot.
What's left is the unpredictable slice. Five to ten transactions a week, maybe. Coffee. A book. Lunch. A gift. The actual ad-hoc parts of your spending.
And Voice for Everything Else
For the unpredictable slice, the question was the input method. If a charge takes 25 seconds to log, I'd skip it some days, and the days would stack the same way they always had.
What I wanted to try was voice. I genuinely didn't know if it would work better than tapping, but the idea kept nagging at me. Voice removes the form. I'd say "fifty bucks at Costco" or "twenty at Chick-fil-A" and (in theory) the parser would extract the amount, the merchant, the implied category, and slot it in. 25 seconds of tapping turned into 5 seconds of talking. Same data, different input.
The first version of YourDigits was actually the parser, not the app. I built and tested the parser before I designed any UI. Honestly, the early versions of it were kind of a mess. I kept fixing it for weeks before it could even handle one transaction reliably. I tried sentences with one transaction, then sentences with multiple ("fifty at Costco, twenty at Target, fifteen at Chick-fil-A"), then sentences with currency mentioned ("twenty pounds for the train"), then sentences with merchant nicknames ("five at the corner shop"). Once the parser handled what I needed, I started designing screens.
The parser repo is its own thing, separate from the app. The voice path runs on-device, so nothing leaves your phone. Voice goes straight to your transactions list without ever touching a server.
Voice is for the residual cases. Most things shouldn't need it. The few things that do shouldn't take 25 seconds.
What I Built Ended Up Looking Like
The structure that came out of all this had two parts that work together. The recurring stuff lives as scheduled events: every recurring transaction set up once with a date, amount, and frequency, fixed bills auto-marking themselves paid on the day, planned items pre-populating as one-tap rows. Everything rolls forward into each new pay cycle. I enter these once, ever, not once per cycle.
Everything that isn't on the schedule (the unplanned slice) gets spoken in. Five seconds, no form, no category to pick because the parser handles that.
The combined effect is that the daily logging window is small enough not to break under busy weeks. The first part pre-handles most of the volume. The second part takes seconds for what's left. Missing a day stops being expensive. I might log five things in 30 seconds when I remember, instead of facing a half-hour of catch-up after a week of skipping.
What It's Like Now
I've been using this since the app shipped. The transactions that used to take 20 minutes a week to log (and that I'd skip half the time) now take maybe 90 seconds across three or four moments in the week. Bills don't need attention; they're already paid on date. The recurring grocery transfer is one tap. The coffee I didn't budget for is "five at the corner shop" while I'm walking out.
Honestly the catch-up backlog is essentially gone. Not because I'm logging more. There's just much less to log manually in the first place.
This is the thing I wish I'd had during the six-month gap. If most of those transactions had been on a schedule that auto-populated, the catch-up wouldn't have been a multi-day project. It would have been a fifteen-minute confirmation pass.
If You've Been Behind on Tracking
If you've been "behind" on tracking for weeks or months, idk, maybe some of this lines up with what you're seeing. Five years of habit wasn't enough to keep me logging once life got busy. If I couldn't push through it, for me at least, it stopped feeling like a discipline thing somewhere along the way.
So I made the predictable stuff automatic, and for the rest I just started talking to my phone. That's what ended up working for me.
Take the Know Your Digits quiz (about 3 minutes, no signup) to see which leaks the gap might've left behind, or read The Leak Ladder for the priority order on what to fix once you've got visibility back.
I genuinely don't know if every reader has the same problem I had. Some of you probably already have a system that handles this fine. For me at least, what helped was changing the structure underneath so trying didn't have to do as much work. No idea if that lands for anyone else.
Next in this series: Why Your Budget App Keeps Miscategorizing Your Transactions.
Joy Casfhir
Accountant turned app builder. Tracked 4,600+ transactions by hand over 5 years. Had all the data but no system for knowing what to fix first. That experience became the Leak Ladder: your money has leaks you can't see, and there's an order to fixing them. Built YourDigits to find those leaks and tell you what to fix first.
@casfhirYourDigits detects these leaks automatically. Find my leaks
Curious which leaks you have?
The Know Your Digits quiz takes 3 minutes and shows you which of the 9 leaks are yours, in priority order.
Find my leaks