How I do todos

Many years ago, I kept a todo list in a single text file called todo. It was a minimal system with each todo item on single line. I kept track of items that needed attention by prefixing them with a hyphen, and completed items were prefixed with a hash. It looked like this:

- example item that needs attention
- another example item that needs attention
# completed item
- yet another item that needs attention
# another completed item

I kept the text file on a server that I could access from any machine with an SSH client. It was simple and easy to use, to a point.

Over time, the text file grew in size, making it difficult to scan visually. Managing multiple projects within a single file was also inefficient. When I started creating separate todo files for each project, everything began to fall apart. It may sound ridiculous, but the added friction of manually selecting the correct text file before working on my todos became too cumbersome for daily use. There were other shortcomings too, such as the lack of timestamps next to the todo items.

I'm not sure when I created my first dedicated todo list app, but I think it was around 2005/6. I remember there being apps/services that I could have opted to use instead of writing my own app, but it didn't feel right having my list of todos hosted on somebody else's server. Also, I was/am a web developer and so developing a quick app for myself seemed like a natural thing to do.

I've not kept count, but I've probably written and rewritten my todo app several times over the years. The current iteration is very minimalist and has been designed to somewhat mimic how I previously used a text file, only with a few added features:

  • Hash tags for filtering and grouping todo items to projects
  • Timestamps for when todo items are created and updated
  • Pinning for keeping important todo items at the top of the list
  • Automatic hyperlink detection and link creation
  • A daily email digest sent automatically every morning

My current todo app works pretty well for me. It is hosted privately on my own server and I can access it via any device with an Internet connection and a browser. It's definitely a step-up from the single text file I used all those years ago.

I've built a demo of the my current app, for anyone who might be interested in this kind of thing. The only real differences between the demo app and my personal app are:

  • I have stripped out any server-side calls for storing the todo items in a database. Instead, the demo app uses local storage for persistent storage of todo items.
  • My personal app has paging of todo items.

Anyhow, that is how I do todos. How do you do todos?

productivity tools

Comments

New Comment

If you have a comment you'd like to share, feel free to leave it below. I moderate all comments before they are published. Markdown is enabled. See syntax for help.


I'll never share your email with anyone else.

Blog

I mostly try to write non-opinionated posts about web development and Linux - reminders about how to complete tasks and get stuff done etc.

For short-form posts, see my status page.

Subscribe

Click the link below to subscribe to my Blog feed in your favourite news reader client:

RSS feed

Philip Newborough and a donkey enjoying a beer.

About

My name is and I’m a full stack web developer living and working in Lincoln, England. This website (philipnewborough.co.uk) serves as my personal homepage. When I’m not working with tech, I love to ride bicycles with my wife and friends.

An IndieWeb Webring 🕸💍