posts | links

Reverse TODO list

2024-12-12 | work

A reverse TODO list is a list of what you've done instead of what you should do. A regular TODO list suffers from the items growing stale as they're not done and the whole list becoming irrelevant when it ages. A reverse TODO list on the other hand will just naturally accumulate useful content whenever you do things and write down what you did.

If you're tracking what you did using todo.txt or outliner projects, you can generate a unified done list automatically. Run something like

git grep -E '^(\s*\[X\]|x) [0-9]{4}-[0-9]{2}-[0-9]{2}' \
  | sed -E 's/^([^:]*):[^0-9]*([0-9]{4}-[0-9]{2}-[0-9]{2}.*)/x \2  (\1)/' \
  | sed 's/  (.*done.txt)$//g' \
  | sort

in the terminal while in your (git-versioned) notes directory to find all entries with a date and a "done" checkmark, normalize them into todo.txt format and sort them into a chronological list that ends with your latest done things.

Is this going to be useful for actual work though? If you're planning to do something, it won't show up in the done list until you've already done it. It probably won't work very well for the sort of scattered checklist work where you need to do many simple things and the problem is remembering them all. I feel like it could be a lot more useful for project-style work that relies on context and momentum.

The starting point for project work with a reverse list is that you need to do some concrete task you can log as done to get started. You can't just stay stuck filling your regular TODO list, you need to come up with a starting point and actually do it to get the system going. This pushes you to come up with a minimal relevant next action that will advance the project instead of just writing down large, amorphous tasks.

When you have logged the initial task, it will now show up at the bottom of your done list. You'll be looking at the tail of the done list daily, and if you have multiple projects going, you'll see the last things you did for them all as long as you've worked on them recently. If there's some larger goal you're trying to complete, just seeing the done items might suggest further work. Sometimes this is a no-brainer, if you're reading through a textbook, a done task for working through chapter 4 immediately suggests starting on chapter 5. Otherwise you might just get ideas from the clear summary snapshot of everything you've accomplished in the last week or two. You also get an organically evolving task window. Projects you don't work on will drop out of sight, while things that have momentum get more prominence. You can of course scroll further up the done list to find things from longer ago.

Is this going to actually help as a productivity tool? Dunno, but it feels like it has a really nice property that it can't go bad on you and cause a backlash like a regular TODO list can when you get demotivated to work on it. With a reverse list, you just have the same natural list of what actually happened no matter what your headspace is.