This article is by no means a comprehensive overview or a fair comparison of the tools but rather my personal preferences with bits of advice that can be applied to almost any software.

Task management

I use a subset of Getting Things Done (GTD) methodology to organize my work and home activities. Namely, I use the inbox concept and the workflow around categorizing incoming tasks but I rarely if ever employ GTD for long-term planning or life goals. I really like the idea of maintaining the list of tasks externally so don't need to keep it in my head. The app that I use to implement the workflow is Things by Cultured Code, it's a paid app that is available for all Apple devices. Why Things? Back in the day it was the most popular and feature full software, it supports tags, projects and areas while having a slick and user-friendly interface. It has cloud sync using a custom implementation by Cultured Code, it works flawlessly and I have never experienced an issue or data loss. Now that I have used Things for over five years, it is unlikely I'll switch without having a good reason. I bought Things 1 and then 2 for iPhone, iPad and macOS and haven't yet upgraded to Things 3 - the set of changes in the new version didn't seem significant and the upgrade offering wasn't attractive enough either. I think with the improvements in the recent versions of built-in Reminder app, it should be possible to use it for GTD too and avoid buying Things while losing some functionality such as tags.

Reading list

Whenever I stumble upon something exciting on the internet that I intend to read, I usually add it to my Pocket. Pocket is a cross-platform reading list with tags, archiving and nice UI. There are browser plugins and also bookmarklets to add pages to the list quickly, on iOS you can use Pocket from the share menu. Perhaps if Apple's "Reading List" feature had any support in Google Chrome on macOS, I would use that instead. The only word of advice on the reading lists is to think critically when adding items to the list. Consider for a second if that item is something that you will eventually have time to read. I am personally struggling to find a good balance between items added and being read, instead of having a constant and fast enough rate of reading I sometimes prune the list by archiving or removing pieces that were unread for too long.


I have three main calendars: family, personal, and a work one. The family calendar is the one shared with my wife where both she and I add events that we either plan on attending together or simply to make each other aware of the plans. The personal calendar is where I add things that only concern me and of little interest to my spouse, for instance attending webinars. Work calendar is pretty self-explanatory but there are some minor details that are worth mentioning: it should be up-to-date, it's open for all my colleagues to see and I add events whenever I plan on being away from the office, for instance, if I booked a doctor's appointment after lunch. This helps prevent people from trying to book a meeting with me when I know I can't make it. There are some more calendars that I see in my app: my team's availability, the on-call schedule and public holidays.

I use Google Calendar app on iPhone and mostly built-in Calendar app on MacBook. My personal and family calendars are synced via iCloud and I have them available for both work and personal devices. Work calendar is on the corporate Google Apps server and I don't access it on my personal device.


I started doing zero inbox before it was cool and for legacy reasons continue doing so without the help of additional tools. Modern email services from ProtonMail, Gmail or Apple all support archiving emails. My workflow for both personal and work mailboxes is to quickly skim through all the incoming correspondence and immediately archive it if it doesn't require an action. You may be surprised how many emails, especially the work ones, do not assume any sort of reaction except for being read and sometimes not even that. If an email is actionable and requires a response, it stays in the inbox. Depending on the nature of the email it may lead to some items being created in the to-do management software as well. Another way of thinking about zero inbox is that it's basically GTD for email.

Being a software engineer I get dozens or sometimes hundreds of automated emails a week from different systems and having a good system of filters that label the emails and automatically archive some of them is something I recommend too. Even better is to unsubscribe from the mailing lists that you don't read.

I am aware of Google Inbox product and I know a few people who are very happy using it, so it's obviously another good option. Because of its labelling and ordering features it may be a better fit when the volumes of the emails are higher.

In case of getting spam or unwanted correspondence without an unsubscribe option, I always report them as spam instead of simply archiving or deleting, hoping it'll help personalize the spam detection algorithms.

Password management

I am bad at remembering passwords and get annoyed when I can't remember them too. That's why I like to have very few passwords in my head and the rest of them stored safely in a password management app. I use LastPass but I imagine 1Password or other would work similarly. I think most of my needs are even covered by the Apple Keychain with the usual caveat that it can't be accessed from Chrome. Why not just use Chrome everywhere? In my opinion, it is too cumbersome to use Chrome on iOS because Apple doesn't allow setting the default browser.

Mobile phone settings

It may sound silly to mention this in the productivity but I find the default settings on the phone incredibly disturbing. The phone beeps and vibrates for no particular reason: that includes notifications from instant messengers, email clients, calendars, actual SMS and also random stuff like a game you installed last week decided to ping you because you haven't played in a while. As a software engineer I value concentration a lot and don't appreciate being interrupted, because of that I follow a few simple rules for my phone settings:

One might ask, with such restrictive settings, am I not missing out on important stuff? Well, the answer is no and the reason is quite simple: I am one of those people who uses their phone probably a hundred times a day anyhow. The chances that I will miss something and it can't wait for another 15 minutes are slim and I'm willing to take them.

Oh, and for notifications on macOS I adopted a similar restrictive approach.


FreeMind may look like it came from the past but it is the most convenient free mind map tool I know of. It doesn't a mobile client or cloud sync but I found that I don't do that much mind mapping from the phone and storing the mind map file in Dropbox works well.

An occasional Trello board is useful when you want to team up on a project with someone else. I find Trello to be very simple while also offering a good set of features.