Hello!,
this is actually my first post even though I have been a member of the indiehackers community for a couple of years. I thought it was about time to introduce myself and share some of my experiences, maybe they are valuable for somebody out there.
I turned 44 this year, I left my job as a software architect and started my own company a decade ago. Born in Sweden where I currently live although I spent most of my youth in Spain, the country where my father comes from.
My plan was to become economically independent when reaching 35 (ha-ha), I like to think that by some measures it is kind of true since I have been self employed ever since.
I do not want this post though to be about my beginnings as a startup founder, that I will leave for future posts because it is a long story and it is going to require several chapters just to develop all the learnings I got along the years. Instead I would like to focus on my last product, taskforce.sh, a front end for Bull (github.com/optimalbits/bull) which is a queue library built on top of Redis.
When developing my first product (castmill.com) back in 2011, I was quite excited about NodeJS, and despite being pretty new and somewhat unstable I decided to build the product on top of it.
I discovered pretty soon that some of the existing libraries where not working as reliable as I needed them to, so I developed a couple of those and made them open source. One of them was the queue library mentioned above , which started as a simple library for internal consumption, but over years grew in popularity, and it is probably right now the most popular queue library for NodeJs based on Redis.
When an open source project starts gaining traction it will naturally also require more of your time to attend peoples issues and feature requests. In some interesting way you feel obligated to make your users happy by fulfilling their wishes. You get a sense of meaningfulness by providing a tool that is useful for so many people and in exchange for my efforts, many developers freely contributed back with their own code and made the product much better than I would have possibly been able to do by myself.
Around 2017 however, the burden of maintaining the project was starting to become challenging, and basically it seemed like I was not going to be able to dedicate all the time I needed to put into it if I did not get some kind of sponsorship.
My dilemma was probably the same most open source developers face at some point as they gain more popularity, which is to either find a sustainable income model that pays for the continued support and development of the product, or just keep dedicating a couple of hours here and there which ultimately could lead to the death of the project.
My thesis was that if I could create a new paid product that enhanced the user's experience they would pay for this extra value, while also letting them know that they are sponsoring the library.
I released taskforce.sh sometime in the middle of 2017. When I released it, it was completely free. As an MVP I just wanted to test if users would find it valuable and use it on a daily basis. I put a link on Bull's webpage having a weekly traffic of around 2k unique visits and waited to see what happened.
What I found was that I got around 20 to 30 new registrations per week, but most users would not keep using the tool. This trend continued for months and in the meanwhile I enhanced the tool with bug-fixes and some minor new features. At some point I started to have a handful of loyal users, however they where not enough for a sustainable business yet. Still I decided to implement the payment system with Stripe and continued developing Bull to attract more users.
I thought a lot about what kind of marketing I could do to attract more users, maybe paying for some google ad-words or display ads would help. But the tool is very niched, focused to a relative small number of developers, and also since the tool depends on the users having already a working Bull deployment made me doubt about this strategy, I just could not articulate a simple call to action. So instead I just kept my marketing activities to a mere link from my github page and indirectly by trying to improve the library as diligently as I could.
Today, taskforce.sh is up in 1195$ MRR and growing at a rate of around 35% per quarter. It is difficult to estimate how much potential there is with just the tool as a front end. So last couple of months I worked to create a new hosting service for Redis.
I reasoned that since all Bull users must have a redis instance somewhere, they would need to pay for both Redis and Taskforce's subscription fee, why not offer the Redis hosting too? This feature has been just released so I am still waiting for some conversion. My marketing activities so far have been a newsletter to existing registered users (around 3k so far) and a small notice on Bull's Github page. Since we provide hosting now I think it makes much more sense to do other kind of marketing activities but I am not completely sure which ones, I am all ears if you can propose some good ideas.
For the future I have big plans for both Bull and Taskforce. For instance I am currently working on a redis module that would make possible the use of Bull not only from NodeJS but from any other language or runtime environment.
Hey @manast!
I am a HUGE fan of BullMQ! splitbee.io relies heavily on it! Have you also thought about enabling github sponsors? I would love to donate you!
Love the idea behind taskforce. looking forward how the hosted redis goes!