Three Years of Getting Things Done
It’s been three years since my initial post about Getting Things Done. The last couple years have been weird, to say the least. I’ve still stuck to the Getting Things Done methodology, but the last year in particular has made me acutely aware of weaknesses in my practice. This year, almost all the projects I took on had high number of unknowns: becoming a manager, buying a house, and improving the house. The slight discomfort I identified in my previous retrospective has grown to an unavoidable problem. When the next steps for most of my projects aren’t obvious, my “external brain” frequently gets out of date and stops helping me. In turn, the staleness of my “external brain” erodes my trust in it. This feedback loop got me back into a pattern of reacting without much planning, and the stress of internalized time management came back. In the last six months, I’ve been improving my tooling to address this problem.
So what went wrong? The first thing I looked at was whether I wasn’t applying enough backpressure. Resounding “no.” At no point in the last two years did I feel overcommitted, and in fact, I was pretty regularly exercising my “I can’t take this on right now” response. So … have I been working on the right things? Definitely. When I compiled a list of things I accomplished in 2020 and 2021, I can confidently say I actively improved my life. I did a number of things personally and professionally I previously thought impossible. Even in non-pandemic times, I would consider this list a success. It was at this point I realized: I’m getting the right things done, but with more stress than I want to have. The system is producing outcomes I want, but not providing as much support as I need. This suggested to me a tooling failure.
After some reflection, I realized the part of the Getting Things Done workflow that has developed the most friction for me is (ironically) the Reflect phase. I’ve stopped doing weekly reviews because they became too onerous. With so much to do so quickly, I often couldn’t wait until the end of the week to review a project. I would still revise projects' task lists. I would still engage with the task lists. But it was far too easy to let another important, ambiguous project slip. So if anything, I need to do reviews more often, which means I need tooling to proactively nudge me to review projects as I go. And sadly, I realized Todoist — my “external brain” — wasn’t going to help me here. Because Todoist is focused on being a general, unopinionated list manager, it won’t remind me about anything that I haven’t explicitly set a reminder about. I came to the conclusion that I needed to build my own task manager.
I quickly came up with a set of requirements based on my experience:
- The task manager must be accessible on any computing device I use regularly. This means supporting Windows, macOS, ChromeOS, and Android.
- The task manager must be ready to capture new inbox items on my Android phone within 3 seconds (including unlocking the phone).
- The task manager must be able to filter tasks based on due date or label, and I need to access that regularly on my Android phone.
- The task manager must be able to check off completed tasks due today in a manner accessible on my Android phone. (I have a lot of recurring wellness tasks that I track in my task manager.)
And my one stretch goal was:
- The task manager should have an accessible way to process my inbox one item at a time on my Android phone. Todoist just shows your Inbox as a single project, which is frequently overwhelming to me. I wanted to capitalize on downtime to be able to incrementally go through my unprocessed stuff.
This seemed fairly daunting at first, but I’ve converged on a fairly low-maintenance software solution that has been good enough for me to cancel my Todoist subscription. Rather than building a graphical user interface, I realized I could move much faster by building a Discord chat bot. Discord’s API supports attaching buttons and dropdown menus onto messages in a feature called Message Components, which gives me some nice mobile one-taps for common actions. This let me build something that meets all these requirements, and is surprisingly more usable for me on mobile than Todoist’s native app. Turns out, a lot of effort has been put into making text input onto mobile touchscreen keyboards easy! My bot is not anything I’d be comfortable releasing publicly yet, but the code is solid enough that I trust it for my day-to-day life.
I still have some more features to build around project management and task review to increase my Reflect cadence, but I believe that I’m on the road to a workflow that handles more of the challenges I am facing in this chapter of my life.