Monetizing two open-source projects and hitting a 6-figure ARR

Manuel Astudillo, founder of Taskforce.sh

Manuel Astudillo built an open-source project to scratch his own itch and was surprised when people started using it. Eventually, after one failed attempt at monetizing, he grew taskforce.sh and Castmill to six figures per year.

Here's Manuel on how he did it. 👇

An early start in computer science

My background is in computer science. I've been fascinated by computers since I was a child, growing up in the eighties. I started programming at an early age, so it was quite natural that I studied computer science for my graduate studies.

Currently, I spend most of my time on two projects, BullMQ, an open-source distributed job processing library built on top of Redis, and Castmill, an open-source digital signage solution.

We are currently in the six-figure ARR range, growing at around 50% yearly.

Seeing an opportunity for monetization

I wrote BullMQ as a side project to be used in Castmill. I needed a reliable queue service for NodeJS, and there weren't any I was happy with at the time — this was 2011-2012. So, I wrote a library based on Redis to fulfill my needs. I published the library as open source and published it on NPM.

Later, I started getting issue reports on GitHub. I was surprised that so many people were finding the library useful, and I was just happy to be able to contribute to the open source community with a useful piece of software.

But as years passed, the number of issues started to grow; it was not only bug fixes, but also new feature requests, which I would happily implement if they were not too big. It came to a point where I started to think about the viability of the project, as I could only work on it in my spare time. But since it was so popular, I thought there might be an opportunity for monetization.

Building the wrong monetization strategy

I thought that maybe I could add something extra to attract more customers — since BullMQ is based on Redis, I figured that offering a Redis hosting solution built into the dashboard would be a huge success, as I had many thousands of users using the open-source library.

They were in need of a hosting solution, so what could be better than buying it from the creator of BullMQ itself?

I spent about six months building this feature and then I released it. But it turned out to be a disaster. Not only was the growth super slow — even slower than the dashboard subscription itself — but I also kept losing sleep. There would be hosting issues and customers would get angry because Redis was offline.

So, I had to throw that solution away, as I realized it was going to burn me out. I instead, I pivoted to a professional version of the library, which turned out to be the most successful pivot for me.

In hindsight, I should have understood that my unfair advantage was my knowledge in queue technology, whereas hosting was something new to me.

The psychological challenges of indie hacking

Eventually, I realized that something missing was a dashboard or front end that would help you manage and get a higher-level overview of your code, and so taskforce.sh was born. It offers SaaS and library products for developers who need more advanced tools for their solutions based on BullMQ.

It took me about a year to make the first release, as I was working full-time and maintaining the open-source library, but in 2017 I released it to the public.

When it takes so long to develop the MVP, there are, of course, many moments of doubt, where you just think you may be wasting your time.

In moments when I doubted myself, I just took a leap of faith. I told myself that it was worth the effort, and I kept pushing harder until I managed to finish it.

Even after launching, my biggest challenge was psychological. I had to keep pushing even when the customer acquisition was pretty slow.

What helped was that I could see a steady and healthy growth in the open-source library. That kept me going, as I knew I was at least bringing some value to the world. I just needed to keep improving the dashboard so that more paying customers would see the value of paying for the subscription as well.

In the end, it proved to be a good investment of my time.

Taskforce.sh homepage

Model and stack

Monetizing an open-source project is a leap of faith. I had no idea if there were going to be any customers willing to pay for it. I was quite inexperienced in business at the time.

However, I had a winning card, which was that I had a pretty large audience. I knew from GitHub Insights that I had a lot of visitors to my README page, and so I had the feeling that I would be able to convince enough people to use and pay for the dashboard.

As for the stack, it's Angular for the frontend, NodeJS (including BullMQ itself for the alert and monitoring subsystem) for the backend, and PostgreSQL for the database.

Leveraging SEO and landing pages

I put some banners and text in the README pointing to the dashboard. I think it took about three months to get the first eight customers, and then it continued to grow very slowly after that. To date, this is the best funnel we have to get paid users.

But I also created a landing page. I put a lot of work into making the landing page as SEO-efficient as possible, using tools such as Ahrefs to find potential areas for improvement.

And I created a blog where I add tutorials and other content that Google will hopefully index to send potential new users and customers to me. After publishing, I promote my blog posts on twitter and sometimes run paid ads for extra exposure.

I am sure a lot more can be done, but for now, it has served me well. It took several years, but I was eventually able to quit my job.

Indie hackers need to be stubborn

If you are considering starting a business as an indie hacker, remember not to lose hope — even though sometimes, it feels like the way to success is very long.

For some lucky people, success is an overnight story, but for most of us, it will require a lot of work and sacrifice, so be prepared for that.

I think that being stubborn, in a positive way, is going to be one of your most valuable traits.

Also, reserve some time to reflect on the past and keep reprioritizing your task list; things that feel super important today may not be that important in a couple of days.

What's next?

I have a few goals in mind to make the company more robust and secure.

For one, we are currently pursuing SOC2 Type II compliance, which is quite a hard process to follow, but the result is a very secure and more professional company all around.

SOC2 Type II is the gold standard in security compliance, and for most large companies, not having it would be a no-go. I have read horror stories about companies losing absolutely everything from one day to another because some hacker took over their AWS accounts, for example. With the processes required for being SOC2 Type II compliant, we will vastly minimize this risk so that we can sleep better at night.

Secondly, I want to hire more people so that we can have more redundancy and even less response time for both bug fixes and customer support. I also want to implement new features so that we can take on larger customers and charge more for our services.

You can follow along on X. And check out taskforce.sh and BullMQ.

Indie Hackers Newsletter: Subscribe to get the latest stories, trends, and insights for indie hackers in your inbox 3x/week.

About the Author

Photo of James Fleischmann James Fleischmann

I've been writing for Indie Hackers for the better part of a decade. In that time, I've interviewed hundreds of startup founders about their wins, losses, and lessons. I'm also the cofounder of dbrief (AI interview assistant) and LoomFlows (customer feedback via Loom). And I write two newsletters: SaaS Watch (micro-SaaS acquisition opportunities) and Ancient Beat (archaeo/anthro news).

Support This Post

2

Leave a Comment