Kamal Nasser

To-do Lists: Simplicity is Key

A well-maintained to-do list plays a big role in my productivity (or lack thereof). After trying many different apps on both my computer and phone, I settled on a "bullet journal"-style notebook. Well, it wasn't a bullet journal per se. It was just a notebook with a page for each day and a list of tasks in it. That layout fit my brain perfectly and helped me organize my thoughts and tasks without going insane. It's how I realized what I really needed in a to-do list—whether it were a program or a physical notebook—for it to to not conflict with my thought process or get in my way:

  1. I need to be able to quickly see all of my tasks (both incomplete and complete) as well as an overview of what I accomplished in the past week.
  2. I don't want to worry about organization too much. I need to be able to quickly write down thoughts or tasks as I think of them.
  3. I need to be able to differentiate between different types of tasks (Work, University, and Personal) without them being entirely separate.
  4. Incomplete tasks should be pushed to either the following day or a future date that I think makes sense.

Every to-do app I tried failed to accomplish these four crucial points. Some did, but not quite perfectly. Todoist came closest. I used it for a few weeks, took advantage of filters and most of its features, but then realized that it wasn't for me.

A notebook worked perfectly. It let me structure every single thing the way I liked and never got in my way. It, being an inanimate physical object, literally couldn't do anything to my to-dos. I loved that.

However, it quickly became annoying to maintain. An A5 notebook doesn't fit in my pocket. It doesn't come with an app that's automatically synced with it. It became a hassle to use outside of the house. I'd schedule reminders to add tasks to my notebooks. I had to separately maintain the fountain pens I used. That was clearly not ideal.

What I needed was an online version of my notebook. A simple list of tasks that is not modified in any way except by my own actions. I tried Todoist once more and attempted to match it to my existing workflow as best as I could, but it didn't work.

Enter Workflowy. Workflowy is basically a huge bullet-point list. It's nothing more than that, and that's what makes it brilliant. Just like a notebook, it doesn't mess with my data, doesn't define a structure and force it on me, and doesn't try to do many things as once. It does one thing, and it does it quite well.


My Workflowy setup is basically a 1:1 copy of my notebook. Each day has its own "page" and tasks are split into the three types I mentioned. I can schedule tasks on future dates if I want to, but I can also just add them to the current day's list and they will always be there until I check them off. I could go back to any day I like and instantly see what tasks I set, which of them I completed that day, and which were snoozed to another day.

With my notebook, I would manually go over the previous day's tasks every morning and move incomplete ones to a day I think would be suitable for them. Of course, I could continue to do the same with Workflowy—but, being a developer, I couldn't help but automate the process.

workflowy-bullet-journal is a small program I wrote that takes care of migrating tasks over for me. It it scheduled to run at 12:02 am every day. It works perfectly because I wrote it, and it acts exactly the way I want and expect it to.

It goes over the previous day's incomplete tasks, copies them over to the current day, and adds a tiny → that serves as a sign that the task was copied. Finally, the days' descriptions are updated with their statuses (🚀 Ready and 📦 Archived).

To end on an insightful note, I'm starting to appreciate functional minimalism and actively look for it. Simplicity is key. Now, off to setting the "Blog about Workflowy" task to "Complete."