My GTD system knew what I could do. It never told me when.

Two years ago I discovered Getting Things Done by David Allen and decided to give it a chance. Once I’d sorted and filed my whole physical space, it was time to pull my digital life together. I chose Obsidian, with custom scripts and plugins. Into that system I built lessons from my own experience alongside proven methods from the literature (see the reading list at the end).

On paper it was well built, and it really did change things for me: my output went up dramatically, and I could stay calm and mindful at the same time. Still, there were two critical points where it failed me every time, and this post is about them.

The setup

My system also included a Zettelkasten for developing ideas and processes for managing habits, but here I’ll focus on the task side: GTD.

Every task was linked to the project it belonged to and to the context where it could be done: laptop, calls, errands, at my parents’, waiting for, and more.

How nextAction.js picked the next action Each task lives in a project and carries a context tag. The nextAction.js script takes only the next open task from each project, plus tasks marked with an exclamation mark, and shows each one on the page of its context. PROJECTS Plan a trip Pick dates laptop · done Book flights laptop · next Pack home · waits Fix the bike Call the shop calls · next Order a part ! laptop · parallel Test ride outside · waits nextAction.js next open task from every project CONTEXT PAGES Laptop Book flights Plan a trip Order a part Fix the bike Calls Call the shop Fix the bike Home Nothing yet. Pack waits its turn. shows up on its context page waits for the step before it ! can run in parallel, so it skips the line

Each context had its own page, and a script I wrote, nextAction.js (built on DataviewJS), showed the tasks tagged with that context. From each task list in a project it showed only the first open task, so a step only appeared after the step before it was done. A task I marked with “!” showed up right away, without waiting its turn.

Everything synced through iCloud on the free plan, so the same vault was on my laptop and my phone.

Flaw 1: The right task never found me at the right moment

GTD’s answer to “what should I do now?” is contexts. You tag each task by where or how it can be done, and when you’re in that context, you open the list and start working.

The catch is that you have to remember to open the right list. That works when you’re calm. It doesn’t work when you’re busy. And I’ve learned that my memory is terrible, so for me this was a serious problem.

At work I had so many tasks in front of me that my head was full. I had no room left to think about what was waiting in my other contexts. Then I’d get a free half hour with my phone in my hand and spend it on low-priority tasks (or, at worst, on nothing). Later I’d remember that I’d wanted to call the city to sort out a payment, and that the call center was open until 3 p.m. It wasn’t urgent, so I let myself do it “in between”. In practice, tasks like that drag on and weigh on you.

The system knew exactly what I could do. It just never told me when. It left the job of switching contexts to the one part of the system that was already overloaded and forgetful: me.

Flaw 2: Capture and tagging were too slow

GTD only works if you capture and tag everything. The moment that gets slow, you start skipping it and putting it off, and the system quietly stops being trusted.

The biggest problem was catching a thought about a new task. Obsidian was too slow for that: on my phone it took a long time to open, because it synced through iCloud.

My fix was to use the Fleeting Notes app and sync thoughts from it into my Obsidian inbox.

That solved capture, but it created a different problem. Most thoughts really do need processing, and that’s an important part of GTD. But some thoughts I knew exactly where they belonged the moment they came up, which project and which context, and they still had to go through the whole process: inbox, processing, tagging. There was no fast way to send them straight to their place.

What’s next

If you’re building a GTD system, check where it still relies on your memory. Every such spot is a point of failure, and it will fail exactly when you’re busiest. For me, it was remembering to open the right list.

What I need is a tool that simply answers the question “what can I do right now?”: one that does the context switching for me and brings up the tasks that fit right now.

Also, a thought whose place I already know should go straight there, without going through the whole process.

That’s what I’m trying to build now, and I’ll write about it later.

Reading list