Taskmaster: an AI-powered todo list

A to-do list is a very basic tool that a lot of people use, and a simple one is fairly easy to code.
There are a lot of versions available, and I have used a good amount of them, but they always feel a bit off, and I end up switching to a different one after a while. The main problem: they become cluttered, and after a while, they only generate anxiety instead of helping. A simple solution? You kill a lot of the older unfinished tasks every once in a while to keep them fresh.
But what if you had an assistant that could do it for you? One that could suggest the best schedule for the day and pick up the best tasks based on your mood?

I want to do this project for two reasons: the first one is that the core of the project is simple to do, and the second one is that it can expand almost limitlessly with additional ideas.

For this project, and other projects that I plan to work on this blog, we are going to be following a set of principles for development that were previously defined, and following these principles, I have set up the following working environment:

  • I have a public GitHub repository for the project on https://github.com/andres-javier-lopez/taskmaster
  • I'll be handling the project on a Kanban board on GitHub: https://github.com/users/andres-javier-lopez/projects/1. While this is not the best available tool for managing projects, I don't want to stretch too much across different services or go into paid services. Also, I'm using Kanban because doing Scrum for a one-developer team is going to be overkill, and Kanban is pretty used in real-life environments too.
  • Having a working version is going to be a bit more difficult, but right now I have opted to focus on a Docker Compose environment. In the future, a hosted version should be a better option, but I don't want to focus too much on these details until the project is a bit more advanced.
  • For the project architecture, I'm going to be working with Clean Architecture. The idea is to create a business core that is going to be flexible for multiple implementations.
  • For each feature that will be added to the project, I will create a story on the Kanban board, a blog post discussing the architecture, and a Pull Request on GitHub with the actual code.

This is surely going to be too much work for a single-person project, but I'm hoping that the extra work is going to be worth it. I'm going to be adding the first batch of features to the Kanban board soon.

Subscribe to Developer Notes

Sign up now to get access to the library of members-only issues.
Jamie Larson