How I Get Things Done

The first thing you need to accept is: your memory sucks. If you have ever had things you want to do in life (for yourself or for others) chances are you can’t remember them all right now. That’s why most people don’t rely entirely on their own memory and have some sort of system to remind them what commitments they’ve made. I’ll explain my system and hopefully a bit about why it is the way it is.

Firstly, when someone asks me to do something I immediately write it down in my iPhone or MacBook’s Notes app. This doesn’t have any mechanism for storing dates or times but just lets me enter text. This is good because it’s available and synced everywhere. If I have time (or when I next do) I then sort into lists based on topic matter. My long-running lists are: GitHub (my current employer), Homebrew (an open-source project I work on) and Random is a general (short) dump for other things. Every time I do work for GitHub, Homebrew or myself I look on the relevant list to see what I should do.

When there’s something that’s a bit more structured with a time or date attached to it I put it into either the Reminders or Calendar apps. Reminders gets anything that needs done on a certain date or repeatedly but doesn’t require me to go anywhere. Calendar is generally when I need to go somewhere or it’s e.g. an online meeting that has a specific start and end time. These apps will pop up alerts on my iPhone and MacBook with a noise or vibration so I actually remember them.


If you have any familiarity with Getting Things Done then the above may seem vaguely familiar. Although I tried to follow it strictly in the past I simply found the structure was overkill for what I need to do because I tend to keep my various TODO lists short enough that I can quickly scan and mentally prioritise them daily.

So far it’s relatively straightforward but I’ve omitted the most common productivity nightmare: email. I’ve heard the main problem with email being that it’s basically a TODO list that anyone can add to at any time. This is a problem.

First thing to do with your email is trying to keep Inbox Zero. In short: the default state of your inbox should be to have no emails in it and when you check your email you should end up with an empty inbox afterwards. This sounds like a bit of a pipe dream so let me tell you how I do this.

You probably get a bunch of email that you expect. Someone commented on your Facebook post. Your company’s weekly newsletter got sent round. That person in your office who sends you only junk. These all patterns and patterns are good because a computer can handle them trivially for us. What I do is set up filters (in Gmail, iCloud, Outlook, etc.) which sorts each type of email into a folder (e.g. label and archive in Gmail). My long-running personal email folders are Bills, Church, Politics (petitions and newsletters), Social (all social media notifications) and Software (anything with open-source software outside of work e.g. GitHub notifications). This immediately let’s me prioritise these groups. Anything in these folders is not urgent during work time. If I’m emailed randomly by e.g. my dog that may be urgent and it’s not expected to it ends up in the inbox instead of a folder. I have a separate but similar system for work email too following the same principles.


It’s important to ask yourself when you get a new email: was this expected, somewhat urgent/important or even desirable? If not, filter it into a folder, unsubscribe from the mailing list, tweak your social media notifications or setup a filter to just automatically mark it as read and archive/delete it. Stop wasting your time repeatedly ignoring the same emails.


The tricky thing with the above system: what do you do if you don’t have the time to reply immediately to an email or it’s generally something you want to deal with later? Some people will leave the email in their inbox or unread but I find both of these approaches spiral out of control and/or are error-prone so that important things get missed.

Until recently I starred/flagged all email which functioned as another TODO list of stuff to do later. I made sure to check and prune the list daily which meant nothing got lost but it was annoying to have to do this every day for an email which wasn’t actionable for a month. I’ve started using Mailbox (an email client from DropBox) on my iPhone and MacBook to solve this problem. It’s generally a pretty good email client but the killer feature if you can mark an email as “Later” with a swipe and it’ll leave your inbox to reappear when requested e.g. Tomorrow, Next Week, a specific date or when you are next on your phone/computer from your computer/phone. This feature ends up saving me a lot of time as it makes it much quicker to triage email on my phone when I’m waiting around. I sadly can’t recommend Mailbox for non-technical users yet due to the poor HTML rendering and crashy Mac app but if that doesn’t dissuade you definitely check it out.


Hopefully the above is useful. To summarise: immediately write down things you need to do on your phone/computer, check them regularly and assign times/dates when possible and automate your email so that you can better prioritise and sort it. Finally, a pet hate: if you commit to doing something for someone please immediately make a note of this and actually do it in a timely fashion or let the person know if you can’t. This alone will make you seem like A Productive Person. Don’t try to just remember (because you won’t) or write it on a scrap of paper because you’ll lose it.

Good luck!