← Back

One Year of Readlebee

About one year ago, give or take a few days, I started development on Readlebee after realizing that there is absolutely no alternative to the Amazon-owned GoodReads that does everything that GoodReads does. GoodReads is a social network for readers, a reading tracker, a wishlist manager for books, a way to stay informed about authors, a place to learn about books (usually by seeing what your friends have been reading), and more. There are a handful of apps that do one thing or another from that list, but nothing fully encompasses what GoodReads offers. Readlebee is my project that aims to fill that glaring hole as a real alternative to GoodReads.

I knew from the start that such a project would be incredibly ambitious and take a lot of work, but I was sure that if I didn’t start working on it, I would never see the alternative that I wanted so badly (thankfully other projects have begun since then). I’ve been a part of the Fediverse for a few years now, so I wanted to build an application that could interact with other apps via the ActivityPub protocol. I also am a huge fan of making software that’s easy to maintain and use, so I wanted the app I built to be as easy as possible for a tech-minded person to contribute code to and run their own instance of. These things all resulted in me leaning hard into setting up the Readlebee project as a “real deal” Open Source project that used frameworks that are relatively easy to learn that could be run using just NodeJS and the user’s choice of database manager (as opposed to requiring a suite of specific software). I looked into community guidelines, researched the appropriate software license, and set up the repository on the best platform for easy contribution (GitLab, because allows logging in with a good number of popular social media accounts).

My goal was to do things “right” from the start instead of my normal way of just getting it done quickly and going back to clean things up when it was working (if I got to it). My main reason for doing this is because this project is supposed to be open source and therefore easy for others to read and contribute to (instead of my normal personal project that’s easy for just me to follow). While I do believe that this approach is a good thing, it is the biggest reason that my progress has been so slow. Well, that and the fact that I ended up reacting unexpectedly poorly to the COVID-19 pandemic—that had me out of commission in a negative spiral for some time at the beginning of 2020—but I digress. Doing things the “right” way meant using code frameworks that I was not familiar with, so I had to learn new systems while also building my own. I’m also trying to ensure that Readlebee has multi-language support and the best accessibility I can provide from the get-go, which has further slowed things down. All this extra learning on top of occasional hangups (plus actual full-time work) has led to an extremely slow development cycle without a lot to show for it after a year, and that’s super discouraging to me.

I’ve been doing my best to recognize that this lack of visible progress is okay because I’ve been doing a lot of learning and planning in addition to writing code for the project. Plus trying to account for doing things “right” the first time should mean less going back to fix things in the future, which will theoretically save time later. It’s just a very different development process than I’m used to, so it feels wrong to not have more done.

I’m hoping that the coming year will see at least a beta release of Readlebee so I can start getting some help from other developers plus feedback and ideas everyday users. I’m itching to have something to show for all my efforts, but no matter how hard I try, I can’t seem to rush this project. But maybe that’s a good thing in the end.

If you’d like to keep track of Readlebee’s development process, feel free to star the code repository on GitLab or GitHub (mirror) to see how you can contribute and follow my Readlebee Mastodon account to see occasional updates about my progress on the project as well as other FLOSS- and tech-related topics!