Categories: General Tags: gtd todotxt simpletask qtodotxt

Back in June, I wrote a post about todo.txt and I gave some general information on various applications that support it. In this post, I will focus on GTD, the methodology behind todo.txt, and how I use it in order to get things done.

Note: If you don’t have any idea about GTD or you want to remember the most important elements of this system, then you should visit and read this amazing summary:

GTD in 15 minutes – A Pragmatic Guide to Getting Things Done

Let’s start…

The book

David Allen wrote this book (this is the 2015 revision) many years ago, explaining everything about a complete system on getting things done. I decided to read it after I started using GTD, to ensure that I will avoid mistakes and take advantage of all David Allen’s techniques and “secrets”. What I immediately noticed is that David Allen is an analog person. He things analog, he uses paper and pencil, tickler folders etc. This is not bad, but…thinking this way, sometimes it makes things complicated. In practice, GTD is far easier comparing to what someone initially believes about it after reading the book.


The required lists

Based on the book, in order to use the GTD system we need to at least have the following lists:

  1. Inbox
  2. Next actions
  3. Waiting for
  4. Projects
  5. Someday/maybe

And this is where it gets complicated. For someone like me who struggled his whole life to properly use one todo list, keeping 5 interdependent lists is a no-go!


But we need these separate lists for GTD, don’t we?

No, we don’t! The only reason that David Allen suggests 5 separate lists, is because he thinks of 5 different paper lists (and this is why the author being an “analog person” makes things complicated..).


So, what do we need to use GTD with an easier and more efficient way?

What we need is what Gina Trapani suggested in todo.txt format.

Using todo.txt we only need one txt list and this list will include everything!


Everything in one list

With todo.txt we identify contexts with @. In the example below:

Discuss with John about Mary @calls

using @calls we know that this task is about calls context.

If what we want to discuss with John, is about a project named “foo”, then all we have to do is use symbol +:

Discuss with John about Mary @calls +foo

With one task in one list, we know both about the context and project.


But what about inbox, waiting for and someday/maybe lists?

Inbox, waiting for and someday/maybe, can also be identified with a @:

clean the house @inbox

Buy a bicycle @someday/maybe

@waitingfor Tina to inform me about Saturday’s party


What about ticklers?

Ticklers can also be in the same list. We just need to set a due date for them:

John’s birthday @ticklers due:2018-12-05

Note: It is obvious, that a due date is in theory not a “reminder” date. However, as we need to keep it simple, this is the most obvious way to read a tickler on a specific date using todo.txt.


What I do

“contexts” (including all the additional “lists”)

These are the main contexts and addiitonal lists I use:



I don’t have many projects. Typically, if something requires more than one task to be completed, it should be a project, but I try to only use +name_of_project only for important projects of my life.


due dates

I only use due dates for tasks that have to be completed due to a specific date. It’s very important to use due dates only when needed! For the rest I use priorities.

Scheduled days are not supported on todo.txt. For this reason, I have expanded the due date use, in order to include them. This means that I also add tasks regarding appointments, meetings etc (events with a very specific time and date) using due dates too.



I use from A to D:


daily use

I wake up very early and when the coffee is ready, I open Qtodotxt on my Linux PC.

What I mainly do is:

If I have a tickler due date, I may need to modify it and make it an actual task. So if the tickler is about someones birthday, I will modify it using @calls context so that I will give a call later this day.

All tasks with an A priority and the ones that are due today, is my task list for today!

For the rest of the day, I mainly use Simpletask (Owncloud version):

Note: I try to avoid having a huge todo list. Before writing down a task, I try to do it NOW If it’s not a quick task or if I don’t have the time for it, this is when I proceed with writing a task on my list.


inbox processing - weekly review


keeping notes for specific tasks

There are times when I need to keep notes for a specific task, ex:

For this purpose I use my own implementation and the tasks are like below:

(A) go to the supermarket [n:26] @errands

checklist for Barcelona trip [n:28] @smartphone

[n:26] and [n:28] refer to note 26 and note 28. All these notes, are txt files kept in a very specific location on my personal cloud (Nextcloud) and are named like the examples below:

26 - supermarket-2018-09-25.txt

28 - barcelona-checklist.txt

When I no longer need these files because they refer to a completed task, I throw them under a subfolder named done.

Please note that this is a completely personal approach on keeping notes for tasks!


using a calendar

If a task on my todotxt list has a due/scheduled date (for me it is usually an appointment or meeting - remember that I use due dates for scheduled events too!), which means that it has a due date and very possibly a specific time slot, I use the calendar button of Simpletask and add it on my personal calendar (I use simple calendar syncing on my nextcloud calendar).

Note: For a standard GTD procedure, only adding such tasks on the calendar is enough. However I prefer to have everything on my todo.txt, and only use the calendar to get a generic day/week/month overview.


keeping everything in the cloud

My todo.txt file “lives” in my personal cloud using Nextcloud. When I edit my task list from my PC, Simpletask (Owncloud version) immediately updates the list on my Android smartphone. In addition all my txt notes, important scanned documents, calendar, are on the cloud too, so that I can have access wherever I am.

Note: If you don’t want to mess around with Nextcloud, you can do the same with Dropbox.


Why using one list for everything works

The reason one list for everything does the job perfect is because it is simple and easy to maintain.

Respecting todo.txt format allows us to use apps like Simpletask and Qtodotxt and sort or filter per anything we want, immediately! This way we have many lists existing within a master list.



This is an example of a todo.txt list in it’s complete format:

(A) 2018-09-24 go to the supermarket @errands

(A) 2018-09-24 call John to discuss about tomorrows meeting @calls

(D) 2018-09-01 send Tina the cake recipe @emails

2018-09-24 fix tv @inbox

2018-09-20 @waitingfor Nick to give me the laboratory results +foo_project

2018-09-10 Mary’s birthday @ticklers due:2018-12-05

2018-09-01 by a bicycle @someday/maybe

This is what we see using Simpletask:

Simpletask overview

Finally, this is the list overview using Qtodotxt:

Qtototxt overview

It’s obvious that using these programs we can do everything with one list, as all GTD lists exist within our main todo.txt masterlist!


En experiment using spreadsheets

During the summer, I decided to google and find out how people are using GTD with spreadsheets. To my surprise I realized that most of the implementations were structured “by the book”, using many tabs with separate lists/sublists etc., resulting in huge and difficult to use sheets.

So I tried to implement a spreadsheet based on todo.txt approach, again using one list for everything. You can download the result of this effort by visiting my github repository.



In this post I tried to explain how GTD works for me in order to give ideas to other people struggling to find their own methodology and tools. I believe that in order for someone to keep using GTD, it has to be simple. Keeping one master list with todo.txt is the first step to a K.I.S.S GTD approach.