Using hLedger for the 12 Week Year
Almost every week for a year and a half, I’ve had a weekly accountability call on Signal with a couple of other people who are, like me, loosely following the ideas in The Twelve Week Year book.
(I’m posting this more or less as a note to myself, but making it public in case it’s interesting to anyone else.)
We started by sticking fairly closely to what the book suggests – devise big goals, break them into smaller ones, make those smaller goals achievable by committing to a certain number of actions each week, then score yourself on whether you actually did them. Being able to see your score as a percentage is just incredibly clarifying. You either did 82% of your intended outputs or you didn’t.
In recent weeks and months, we’ve all slipped a little. I’m only talking about myself here, but it happens to be the case that the other two agreed. And because we’d slipped, we decided to reengage more carefully and purposefully with the ideas.
So this week I started using a tool I already use for my accounts – just typing plain text into a text file. With a particular piece of very simple software that runs in the terminal, I can interpret that text as data, because it’s set out in a way that makes that possible. The software is called hLedger.
Here’s an example of what an entry looks like:
2026-05-26 Designing Facebook ads for Speccy Breakdown, hot and cold audience
time:ads 5h
time:unallocated -5h
One command gives me a summary of everything I logged across the week:
hledger -f 12wy.ledger bal --sort-amount
5.50h time:ads
4.50h time:art
2.50h time:admin
2.25h time:courses
2.00h time:home
1.50h time:bd
1.00h time:accounts
-19.25h time:unallocated
Another slices it by day:
hledger -f 12wy.ledger bal --daily --sort-amount
|| 2026-05-25 2026-05-26 2026-05-27 2026-05-28 2026-05-29
==============++============================================================
time:ads || 0 5.00h 0 0 0.50h
time:art || 3.00h 0 0 1.00h 0.50h
time:admin || 0 0 1.50h 0 1.00h
time:courses || 0.50h 0.50h 0.50h 0.75h 0
time:home || 1.00h 0 0 1.00h 0
time:bd || 0 0 1.50h 0 0
time:accounts || 0 0 0 0 1.00h
time:unallocated || -4.50h -5.50h -3.50h -2.75h -3.00h
What’s been fascinating, even after just one week, is the kind of insight it produces. I’ve been running a small Facebook ads campaign for my new book – I’ve written about that separately here – and I knew what it was costing me in money. What I hadn’t properly accounted for was the time. Five and a half hours in one week. That changes the calculation entirely. Three sales might cover the cash spend, but they don’t cover the hours. That’s the sort of thing that’s obvious when you see it written down, and invisible when you don’t.
It makes very clear, very quickly, where you’ve been putting your energy – and where you haven’t.