One of the things I’m trying to do with my life is lower the amount of money I spend on things I don’t really need. I call it The Don’t Buy Shit Challenge. I’m actually doing really well with that so far, which I’m proud of. I do have several yearly subscriptions, however, that I still need to figure out what to do with. One of those is TickTick Pro.

TickTick is a ToDo application that I’ve used for a couple years. Technically, I could probably get away with using the free plan, but there are a few premium features that I do use so it has, in the past, made sense for me to continue to subscribe to their service.

But it’s time to cut that out. I pay $40 a year for TickTick, money that could be better used elsewhere.

I’ve tried in the past to code my own solution and ended up coding myself into a corner. I’ve also looked for FOSS solutions that would work well but none of them really work the way I want them to.

So, I’ve decided to try making my own again. Introducing Checkbox.

Checkbox

I’m going to build in all the features I want, which is all of them. I’m going to eventually make my own app for it as well so I can have access to everything on the go. It’s going to be great.

I decided with this attempt to do something differently. Instead of having the app manage its own data, it will instead function as a client/server paradigm, making it easy in the future to create other clients I can use on other platforms. I’m doing this in a docker container, so it will be hosted on my vps. The web client can access the data easily enough, and I will be able to create an app or a widget later on that will let me have access to my to do list anywhere I please. I’ll probably also create a TUI to go along with this so that I can have native access as well. There’s no reason not to.

So far, this is working well. I’ve not moved away from TickTick yet, but that’s the next step. I need to put it through its paces to see if it can function the way I want. It’s the only way I’ll be able to find the bugs and spots that I’ve missed.

It’s been challenging to get it right, to be honest. It’s a larger codebase than I was expecting and I’m sure that it could be modularized more than it currently is to make maintenance easier in the future. But I’ll figure that out as I go along. I’m sure that I’ll be working on this for a long while, so it will evolve as time goes on.

I’m going to continue to look for ways to cut out subscriptions. If I can code something that will save me some money, that’s what I’m going to do. It might be more work, but in the long run, it will be worth it.