Maya has a four-year-old, a backyard compost bin she describes as "aspirational," and a grocery habit she doesn't want to talk about until the end of this article. She's been a backend engineer for twelve years, and for the last eight of them, every dollar her household has earned or spent lives in a plain-text file in a Git repository.
Before that, she did what most people do. Mint, from her first job until the day it shut down. Then six months of a spreadsheet that, in her words, "became a second job with worse tooling." A colleague mentioned plain-text accounting, she fell down the rabbit hole, and she never really climbed out. "I read the Beancount docs on a Tuesday night and migrated three years of history that weekend. My partner thought I'd been hacked, because I was at the computer smiling."
The ritual: 20 minutes, once a week, laptop only
Maya's rule is the reverse of most app users: finance happens at the desk, not on the phone. Every Sunday after the kiddo goes to bed, she opens her ledger in Fava on beancount.io and runs the same loop. Review the week's transactions. Categorize anything the importers left ambiguous. Glance at the net-worth chart. Close the laptop.
"It's the same reason I like CI," she says. "Small, boring, repeatable. Twenty minutes and I'm done, and I never think about it during the week."
The phone does get one job, though: capture. At the grocery store, she snaps the receipt in the beancount.io mobile app before she's even left the parking lot. By Sunday, it's sitting in the inbox as a draft transaction waiting to be confirmed. "The receipt used to go into a jacket pocket and then, eventually, the trash. Now it goes into the ledger. That's the whole trick — capture at the point of spending, judgment once a week."
Balance assertions are unit tests for money
Ask her for a favorite feature and she doesn't hesitate — but it's not a chart. It's balance assertions: a one-line statement in the file that says "on this date, this account held exactly this much." If the ledger and the bank ever disagree, the file refuses to pass bean-check.
"It's a failing test for your finances. My ledger cannot silently drift from reality. People pay money for apps that reconcile accounts, and I get it from a text file that won't compile."
Her most underrated feature is documents — attaching the receipt PDF or photo directly to a transaction. "At tax time my accountant asked where my records were. I sent her a Git bundle. She thought it was a joke. Then she opened the trial balance and stopped laughing."
The daycare query
The moment the system really earned its keep was a BQL query. Her four-year-old's daycare felt expensive, but feelings aren't numbers, so she ran one line — total per month, grouped, twelve-month window — against the Fava query page.
"I didn't need software to tell me daycare is expensive. But seeing the line crawl up and to the right for a year straight is what finally made us comparison-shop. We moved to a place we actually like better, twenty minutes closer, and the difference covers our grocery bill. One query. That's the whole ROI of eight years of bookkeeping, if you're keeping score. Which, obviously, I am."
She also uses the same trick for subscriptions once a quarter: one query, one list, ten minutes of cancellations. "It's always the streaming services. It's like they multiply."
But also: coffee
Engineers have splurge categories too. If her ledger roasted her, she admits, the punchline would be Expenses:Food:Coffee. "There was a V60. Then a scale. Then a Fellow kettle. Then a grinder that cost more than my first monitor." She knows exactly what all of it cost, of course — she can git log the pour-over era and watch the commits get more frequent.
That's the part people misunderstand about tracking money in plain text, she says. It's not about restriction. "It's not a diet. It's a mirror. I look at the coffee line and I feel no guilt whatsoever, because I chose the grinder. The ledger just makes sure I choose with my eyes open."
Eight years in, the repo is the longest-running project she has ever maintained. "Everything else I've written at work has been rewritten or deleted. This file just keeps compiling."
Want your own Sunday ritual? Sign up for beancount.io, import your first statement with Smart Import, and let the ledger do the remembering.
