I recently came across Jeff Huang’s .txt productivity system via Cal Newport’s blog post. It was a pleasant surprise, as I’ve been doing something similar since middle school. Despite having tried every task manager under the sun, I’ve found a text file to be the most reliable and efficient. It was quite validating to learn that a computer science professor thinks the same.

My general workflow is the same as Jeff Huang’s:

  1. Keep track of tasks on a calendar.
  2. Plan the day in a text file.
  3. Keep a record as tasks are completed.

However, some differences optimize my system for my needs.

Monthly Calendar

Instead of using an external calendar, I create a text-based calendar in a word document. This is to take advantage of a text-based system while having a visual overview of the month.

While I use LibreOffice, a simple table can be created in Microsoft Word, OneNote, Google Docs, or any other program of your choice. (if you’re adventurous, you can even hard code a table in HTML or TeX.)

Then, I keep track of my tasks and important appointments on the said calendar. Here’s the catch, which makes my system truly flexible and extensible: I created a custom markup system. Here’s the syntax:

  • One line is one task.
  • This is a task./After a slash is a subtask./This is a second subtask.
  • {Curly brackets mean this is a schedule. I also write down the time: 12 PM}
  • <Pointy brackets mean this is an errand. I’ll do it in my spare time in between larger tasks.>
  • [Square brackets mean that I’ve delegated this task or I’m waiting on someone else’s input.]
  • Completed tasks are crossed out.
  • Canceled tasks are crossed out and italicized.
  • Important tasks are bolded.
  • Overdue tasks are highlighted.

These syntaxes are easy to apply and universal, making it portable. Furthermore, these markups can be used in conjunction with each other in any combination. A typical day’s worth of tasks may end up looking like this:

  • {Chinese 12:30 PM} Note: Remember to email prof.
  • {Discrete math 2 PM}
  • {Major advisor meeting}
  • Math HW/Webwork/Written HW
  • Pick up mail

This is an example calendar of this month:

Sample Calendar Spread

Daily Planner

The other part of my system is a daily markdown file, named simply as yyyy-mm-dd.md

This is the part where my method converges with Jeff Huang’s. Every evening, I plan the next day using the same syntax. Here’s an example:

  • Morning routine 10 AM - 12 AM
  • <Anki> 12PM
  • {CHI152 12:30 PM}
  • {MTH150 2PM}
  • Lunch break
  • Homework 4 PM - 6 PM
    • MTH reading
    • CHI essay writing
  • Admin 1 hr
  • Chill
    • Home workout
    • Media consumption
  • Evening routine & sleep

This text document becomes my journal as the day progresses. I often even sit down at the end of the day to write a more traditional journal entry at the bottom of the document. So, at the end of the day, the markdown file may look like this:

  • Morning routine 10AM - 12AM troubleshoot zoom connectivity issue
  • <Anki> 12PM
  • {CHI152 12:30 PM}
  • {MTH150 2PM}
  • Lunch break
  • ~Homework 4 PM - 6 PM~~
    • MTH reading finish up tmr
    • CHI essay writing
  • Admin 1 hr
  • Chill
    • Home workout
    • Media consumption
  • Evening routine & sleep

Dear diary: Today was a nice day. I’m writing a demo journal entry. Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.


This method has a few advantages.

  • Since I mostly work on a PC doing programming homework, I can manage my tasks from the same text editor that I code in. I also take lecture notes in markdown files, which means that I can live in one app during a workday.
  • Text documents are reliable. They won’t get acquired and end service like Wunderlist, nor will they break in the next OS update like Evernote often have on me.
  • Text documents are very flexible and my syntax takes full advantage of it. While flexible task management apps exist, they’re overly complex and take longer to tinker around with.
  • Text documents are light and are fast to sync across cloud storage on all devices.
  • Text documents are simple and conducive for deep work.
  • I still reap the benefits of having a visual roadmap of the monthly schedule.
  • My to-do list becomes a journal, leaving a record of what happened in my days and how I felt.

On a closing remark, I will note that a formalized todo.txt syntax also exists if you’re intrigued in plain text productivity systems. While I’ve found it to be less intuitive than actually crossing out a task, some people seem to swear by it.