Luke Hansford

Photo by Andrew Neel on Unsplash

How I use Todoist as an Engineering Manager

5 min read

I've long been a productivity nerd and over the years I've leaned into using Todoist as my daily driver. This article describes the process I've come up with for using Todoist as an Engineering Manager.

Personal work only

Before taking a look at my set up, I should point out a rule I have that overrides everything else: all shared work goes into Jira/Trello/Asana/<INSERT_YOUR_COMPANYS_PROJECT_MANAGEMENT_SOLUTION>. Siloed knowledge is not fun for anyone.

One project for everything

This is the most unorthodox part of my set up. I often have multiple ongoing projects at any time, as well as numerous tasks that are standalone. Sectioning tasks into Todoist projects would mean I would lose visibility of all the parallel work I have going on, so instead I assign everything to one "Work" project.

A view of my Todoist setup
A view of my Todoist setup

Kanban board view

A couple of years ago Todoist introduced a Kanban board view for projects, and that's what I stick to for my work. In both software engineering and management, tasks often have more than the two states of not done and done. In my setup I have the following states:


This is the default home for tasks.

On hold

Sometimes I have tasks that aren't currently actionable, but will be at some future point in time or once some criteria is met. These I keep in an "On Hold" column. I prefix the task name with the criteria for it to be actionable, for example [December] Review P&P checklist.


This is the backlog for tasks that have some sort of time sensitivity to them. For example a task such as Give feedback to Jane has a certain expiry date for how useful it would be.

As an aside, I don't use Todoist's due dates at all as I find very little of my work has an actual deadline.

Blocking someone

This is the backlog for tasks that I know are blocking someone else from doing something. The titles for these tasks are prefixed with the name of the person being blocked, e.g. [John] Followup with our conversation in last ML sync.

In progress

This column contains tasks I'm actively working on. I try to apply a Work In Progress (WIP) limit of 3 here.


This column contains tasks that I can't continue with due to some external blocker. In the task description I set the first line to describe what the specific reason for being blocked is, e.g. WF: Feedback on the proposal (WF being "waiting for").

Needs reviewing

Sometimes tasks become stale or didn't have enough information to begin with. I place tickets like these here so I can review and update them later on.


I use two labels, "high-impact" and "deep-work". High impact tasks are for those that I consider to be, unsurprisingly, high impact. Tasks without these label are considered to be low impact. The deep work label is applied to tasks that I might need a few hours of concentrated time to complete. Labelling these makes it easier for me to schedule that deep work ahead of time.

Priorities and prioritising

I sparingly use the "Priority 1" tag in Todoist for tasks, specifically those that I have to get done ASAP (e.g. making a hiring decision or something similarly urgent). No other priority level is used to determine the priority of a task, however I do use other indicators to prioritise what I work on. The metadata I add to tasks allow me to form a pseudo-Eisenhower Matrix with the "high-impact" label standing in for "Important" and the "Time Sensitive" and "Blocking Someone" Kanban columns standing in for "Urgent".

Working with projects

For work that has multiple parts to it, I mark it as "Priority 3" and use sub-tasks to track the different aspects of the project. The priority label is just used to denote a project - I don't treat it as an actual priority.

This is probably the weakest part of my set up. The main issue I come up against is that sub-tasks of a project might be in different states at the same time, for example one might be blocked, one might be blocking someone, and another might be in progress. This could be solved by using multiple projects in Todoist, however I still like the trade-off of using a single project and having more visibility of all my work.


This is by no means a "final version" of this process. I try to have an agile approach to my workflows and constantly update them to better suit me as I change and as the work I'm doing changes. However I hope this gives you some ideas on how to work with Todoist. Feel free to leave a comment and share your own approach!