Staying productive with Todoist

Capturing and organizing tasks is a highly personal exercise. Some turn to simple tools like pen and paper or a Google Doc. Others prefer complex systems with filtering, contexts, and customization like Omnifocus.

After trying several options, I’ve found a sweet spot between these extremes with Todoist. It provides some structure for work, but remains flexible for whatever flow I’m managing. That said, the basics I outline here should work with most task management systems.

To maintain a system that threads the needle between structure and disorganization, I follow several rules:

Use as few projects as needed.

I use two projects, Work and Play, for almost all tasks. Work is, as the name suggests, for all tasks associated with my day job. Everything else falls into Play. Any extra projects live as sub projects within Work or Play. And they have a shelf life, sticking around only as long as they need my attention. The net result means I rarely scan through more than three projects per day. I spend less time context switching and more time acting on my tasks.

Tasks have an obvious direction.

Tasks have a sentence description, a clear goal, and shouldn’t take more than a day of work. Most take a few minutes to complete, others several hours. Many task systems would quibble at single tasks having such variance, but I’m ok with it. The mental processing to ensure tasks are sufficiently small isn’t worth the effort. It’s when I’m stumped in the moment or need better direction that I’ll break down an existing task into multiple sub tasks.

If it’s obvious that a task falls fully within the boundaries of an existing sub project, I’ll add it there. If there’s any hesitation on placement, I’ll add the task to the generalized Work or Play projects.

Tasks only have due dates when absolutely necessary.

Previously I equated “productive” with “lots of due dates.” But that added a lot of unnecessary stress, along with other side effects down the road. After several unproductive stretches, the due date bombardment created a “cry wolf” scenario. When almost every action had a due date and an alarm, nothing stood out. Eventually my task flow shifted from being proactive to reactive. The due dates sharpened my focus short term. But I lost a lot of longer term focus and open ended strategizing in the process.

So now the bar for a due date is high. I’ll set one for actual consequences upon missing a given date or time. For instance, a missed flight, or a deadline that will otherwise blow a project. And occasionally because of schedule or mental capacity, I don’t have time for a subject now. Yet due to deadlines or other priorities I have to revisit it soon. In these instances I’ll set a “tickler” due date a day or two away.

Tasks have no assigned labels or filters.

Most task systems, including Todoist, have tagging or filtering for more complex organization. Maybe at some point I’ll find a need to scale up to such a system. But for the time being, I find these extras overkill. The cognitive cost to add any filter or label overweighs their benefits down the road.

The Inbox is only for rare high pressure scenarios.

I find the act of blind throwing tasks in a generic inbox wasteful. GTD devotees disagree, arguing it clears your head. Assignment and classification to actual projects and due dates can wait for later. But my only other task requirement is assigning a project, of which there’s only a few. I’d rather assign that project during task creation instead of adding a separate “process inbox” step to my flow.

Yet there is one context where adding to the inbox is useful. That’s when I’m in the middle of a meeting or design critique where my focus can’t be on tasks, but on giving a presentation or feedback to coworkers. I’ll drop a bunch of poorly formed thoughts into the Todoist Inbox, often on my phone. After the meeting I’ll clean up the Inbox tasks with some rewrites and project assignments.

By adhering to these rules, priorities stay straightforward. By relying on a flat structure that’s easy to scan, nothing gets buried under an odd project, tag or search keyword. Simple entry. Simple processing. And it’s scaled and remained flexible for almost any task I’ve thrown at it.