There's this project I have been building over the past few months that I feel confident enough to share in public. The project is a to-do list app... I know what you are thinking; it's not the usual to-do list app you know. The aim of this one is different, which is what I will discuss in this article.
My problem
The reason I decided to build this to-do list application was to solve a problem most to-do list apps have. With most of them, there's no way to keep track of to-dos you create each day; once that day is gone, you really can't pinpoint what tasks you had scheduled for that day. You could write it down manually, but that's just unnecessary stress and won't work long-term.
As a productivity freak that I am, I always want to know how I spend my time each day, and being able to look back at the tasks I assigned on a particular day, or over a period of time, is of immense value to me. This helps me know whether I am spending my time on the right things or not.
The solution
To build out this idea, I created a simple to-do list app which I called TaskTrail with the bare bones functionality a to-do list can have, only made different with the fact that this time, I am able to store todos as I create them.
One advantage of being a developer is your ability to build solutions to problems, whether they are yours or for other people. You might be thinking "Why not just build this with AI?", it would most likely do a good job with a well written prompt, and you are absolutely right, but I had already started this whole process without AI, and I didn't want to use AI and destroy the fun of it.
Although, I used AI to help me in the planning process to make it easier and faster to discover what was needed to bring the product to life. I had learnt from past mistakes that just opening a code editor and typing away does not always end well. Some questions I asked myself while planning this project were:
- Why am I even building this?
- Who is this for?
- What will make this project valuable?
Getting clear on questions like these is very important before writing any code or picking a tech stack because the problem should fit the stack, not the stack trying to fit the problem. Once I became clear on those questions, I chose my tech stack. Here's the set of languages and tools I chose to build the project:
- Next.js
- TailwindCSS
- Appwrite
- TypeScript
- Git
- PNPM
- Vercel
Before writing any code, I first setup my database. AppWrite made the whole process easy with their simple and clear interface. They also provide a set of functions you can call via their API to interact with your database as most BaaS solutions offer.
After setting up the database, I setup my project with Next.js but not the usual way with pnpm create next-app@latest. I decided to do something new for the fun of it and install Next.js manually. I like building things from scratch as a very adventurous guy that I am 😆. In reality though, it isn't that complex to get up and running, but the initial time it took to set everything up was a bit difficult for me.
Lessons I Have Learnt
Building this project has been interesting and challenging (very challenging lol), but I am glad with how far I have come. Here are some lessons I have learnt building TaskTrail:
How to use AppWrite: Initially, I had no idea how to use AppWrite, and was determined to learn it while building this project.
How to setup a Next.js project manually.
When to use a server or client component
How to use the
object.entries()in JavaScript: This was necessary because I was passing a prop to my component as an object, and I needed to convert it into an array.
I started using TaskTrail to record my todos each day since March 2026, first time I will ever use something I built!, the feeling was so good. I have been recording my tasks ever since which has provided me with a backlog of what I have been doing over the past weeks and months, giving me insight into where my attention is, and what is taking up my time.
I still have a lot of features I intend to implement. One of them is adding authentication, using AI somehow within the app (not quite sure how this would work yet), and making it possible for other to-do list apps like todoist 😃 to connect to my app, so your todos for the day are copied over to TaskTrail and stored in history. So you don't even have to manually create to-dos on TaskTrail.
If this project sounds cool to you, do let me know, and I would like any advice to make it much better. I would try and share more information about it as I keep working on it, you can preview how it looks here.
Happy Weekend!.


Top comments (0)