Manuel Astudillo built an open-source project to scratch his own itch. To his surprise, it caught on, so he slowly built a business around it — and now, it’s bringing in $18k MRR.
I caught up with him to talk about the open-source ecosystem and learn how he successfully monetized his project. Here’s what he had to say.👇
James: Where did this begin?
Manuel: I left my job to launch my first venture in 2011. I felt that I wanted to do something on my own after seven years at the same company.
Basically, I had no idea what I was doing.
James: What was the product?
Manuel: I had no product, nor plan on what I was going to do.
James: Bold move.
Manuel: I thought that everything would be sorted out as soon as I could work on my own.
I didn’t have a lot to lose. I was unhappy as an employee. And worst case, I could just find another job.
It was probably not that smart, but I do not regret it. I learned things that cannot be learned any other way.
James: So what happened?
Manuel: A couple of weeks after I left my job, the first opportunity arose. It's a long story, but it resulted in our product Castmill™, which is a digital signage SaaS.
James: How did this lead to Taskforce.sh?
Manuel: We produced a lot of code and libraries for Castmill. One of these libraries was open-source and became a very popular module for NodeJS. It was just called “Bull” at the time.
As Castmill was not generating a lot of income, I decided to try to create services to add value to BullMQ users. And this resulted in a new company, Taskforce.sh, which offers a suite of products for users who need more advanced tools for BullMQ.
For a while, I was freelancing and spending nights trying to keep BullMQ going. But Taskforce.sh now generates enough income to keep BullMQ in a very healthy state.
James: How much?
Manuel: $18k MRR between the Taskforce.sh dashboard and BullMQ Pro.
James: Is Castmill still around?
Manuel: Yes, it’s at $6k MRR.
James: You mentioned that BullMQ is open source. Why?
Manuel: I’m a true believer in open source so, for me, that is the default.
If I create something, the question is usually the opposite: Why should I not open-source it?
James: What are the benefits?
Manuel: There are two major benefits, as I see it:
You will have more eyes on the code, which should make the library more stable and more secure.
If the project is successful, it will help in your future career — either by making you more attractive to employers or by building an audience that you can rely on in the future.
Subscribe for more how-tos, roundtables, and interviews with people in the thick of it.
James: Let’s skip ahead to the inevitable question: How do you monetize open-source software?
Manuel: It isn’t hard. A lot of open-source creators are struggling to make ends meet, but that’s not the fault of open source, per se.
Most developers are just really bad business people. And maybe they lack the imagination for monetizing their software – or maybe they just don’t care.
There are many ways you can monetize open source, which in my view do not conflict with the open-source philosophy — on the contrary, I think they are great for keeping the software relevant for many years to come.
James: So how do you do it?
Manuel: I’m not an expert by any means, but what I have observed is that the monetization opportunities depend a lot on the kind of open-source project it is, and how popular it is.
Manuel: If the product is something that can be run as a service on the cloud, then you can monetize by providing a hosted version of your product. Some users will pay you to skip the hassle of maintaining the service. Others are happy that the software is open so they can host it themselves.
An example of this would be the in-memory key-value store Redis or DragonflyDB.
James: That’s a popular approach.
Manuel: An alternative to this model is to offer a special commercial license of the software, for instance, Redis has now made it illegal for third parties to sell a hosted Redis instance, but they can buy a commercial license to overcome this limitation.
James: Interesting.
Manuel: Another way of monetizing is by providing an advanced version of your product that is not open source, which includes features that are difficult for your open-source users to implement for themselves, and that they are thus willing to pay for.
They will trust that your commercial version is as good as your open-source version so, here, you are monetizing thanks to your well-earned reputation.
James: And that’s what Taskforce.sh does, correct?
Noah: Actually, it's BullMQ Pro that has advanced features.
But Taskforce.sh is sort of a tangent of this model. It provides commercial tools that enhance the open-source version.
James: What exactly do your customers pay for with Taskforce.sh?
Manuel: They pay for the dashboard, which includes tools for managing queues and jobs, as well as monitoring the queues. The dashboard is provided as a SaaS or on-premises.
Even though the library was very useful by itself, it was difficult to debug applications based on it, or to get a good visibility on the status of the different jobs that were processed by the queue workers. And there wasn't a monitoring system to get alerts when jobs failed.
James: What else?
Manuel: Another way of monetizing is commercial support. I offer that with BullMQ Pro.
This is something that you may need to offer, even if your main model is one of the others. Large businesses, in particular, will require it
But this does not scale as well as the others I mentioned.
James: Yep, that’s another popular one.
Manuel: You can also provide professional services to your audience.
James: So monetize the audience, not the product.
Manuel: Correct. Something that I lack experience with is monetizing via conferences. This is probably only relevant if your product is really popular — so much so that you can hold a conference and charge for it.
I am afraid that is not the case for any of my products. Yet :)
James: Won’t be long!
Manuel: Paid tutorials are also an interesting source of income that I have not explored yet. You provide paid tutorials that help developers get the most out of your software. Maybe you offer some of them for free, and the most advanced ones for a fee.
James: Anything else?
Manuel: Finally, there is always the possibility of getting a sponsorship.
There are open-source projects out there that are indeed well-funded by sponsors alone, such as the Zig programming language. But I wonder how many users you’d need to make this a good model.
When I check projects that are solely funded by sponsors, most are just getting small amounts — nothing that could possibly fund all the necessary work of maintaining and developing an open-source project.
James: How did you grow BullMQ?
Manuel: I was pretty lucky with how BullMQ gained traction. In the early days of NodeJS, there were no other libraries that worked how we wanted. That’s why I built it. So any new project would gain a lot of attention and followers.
But nowadays, it's hard to gain any traction if you do not complement it with some marketing activities.
James: That’s it? Luck and good timing?
Manuel: I probably posted about its existence in some javascript news sites, but other than that, I did not do any marketing activities.
It was not until the number of stars in GitHub and downloads in NPM started to grow that I noticed that the library was indeed being used.
James: And that’s when you monetized it. How long did Taskforce.sh and BullMQ Pro take to get traction?
Manuel: It took a long time. I think it was something like $200 MRR in the first year. Then it started to double every year. It took several years to produce significant income.
James: When your monetization effort got traction, did you increase your marketing efforts?
Manuel: I created landing pages and documentation sites with comprehensive information. I released tutorials, news, etc.
And most importantly, I took diligent care of issues reported by users and offered very responsive customer support.
James: Why is that most important?
Manuel: It is always difficult to know exactly how users are finding your products, but in my case, I think word of mouth was a big factor — particularly in the beginning. And good customer support helps with word of mouth.
James: Crazy that BullMQ got so big without marketing.
Manuel: One of the most common pieces of advice I see is to try selling before you have a product to sell — to start validating your ideas early.
But to follow this advice, you need to have certain attributes. Despite what people say, we are not all sellers.
James: Sure.
Manuel: But that’s quite difficult for some people, including me.
It also requires a large audience, which is pretty difficult to grow, no matter what they have told you.
James: Yeah, lots of indie hackers are marketing-averse. What’s the most difficult part for you?
Manuel: It is not easy for me to stick to a marketing schedule. There are periods where I do a lot of marketing, followed by long periods where I just develop new features.
It’s probably something that hits me negatively in the long run, but some bad habits are just difficult to break.
James: What’s your advice for other marketing-averse folks?
Manuel: Even if you dislike it or are not good at it, you are going to need to do something. It's just impossible to sell any product today without reaching out to some potential customers.
James: Darn.
Manuel: One way or another, you have to find the strength and will to do it. Maybe not as often as other people out there, but you are going to need to do it if you want to succeed.
That’s why I write tutorials. It feels easier because I’m just describing how to use my product.
And well-written tutorials will last many years and be found by Google, which will increase the chances of potential customers learning about your product.
James: So we have to do the hard things.
Manuel: Yep. You have to put in the effort. You cannot win the lottery without buying the tickets.
But you also need to get lucky.
James: You mentioned luck before.
Manuel: It’s insanely difficult to succeed in business. I firmly believe that without a lot of luck, you are not going to make it.
And if you do not make it, you need to know that it’s not necessarily all your fault. Despite all your effort, you lacked luck.
James: Where can people find you?
Manuel: I’m on X. And you can check out BullMQ, TaskForce.sh, and Castmill.
Awesome inspiring story. Thank you.
I really enjoy this quote:
Manuel: One way or another, you have to find the strength and will to do it. Maybe not as often as other people out there, but you are going to need to do it if you want to succeed.
Very inspiring story, thanks James. Very true as well especially in the aspect of developers and their very poor skills in business.
Awesome talk got to learn a lot from this!
Monetizing your Open-source software and marketing is not easy, kudos to Manuel for successfully doing so.
That is amazing, If you ever need Design look for BlancBrand Creative Studio, PREMIUM Design on demand just like Netflix!!!
Design, Branding & Animation Monthly Subscriptions
That is amazing, If you ever need Design look for BlancBrand Creative Studio, PREMIUM Design on demand just like Netflix!!!
Design, Branding & Animation Monthly Subscriptions
Thanks for sharing!
How in the world do you get to talk to them?
Inspiring story. Thank you for the insights.
Very inspiring, thank you for the insights! I run a small open source flatfile-cms since 7 years. The biggest problem is the lack of marketing and popularity in a crowded space (or not so crowded anymore because most open source flatfile-cms are down). Offering services did not work for me, now I try selling licenses for extensions. One problem for me is that the project is too big to handle as a sideproject and resources are too small to push it forward.
Love hearing about successful open source projects!
Very insightful read!
I really enjoy writing open source packages but I find it difficult to find motivation or support to maintain them. The idea of keeping certain features in the paid version of the project I find interesting.
It makes me wonder if it is worth doing a crowd-funding for producing open source functionality that's planned but missing currently. For example, I wrote a library that can read Excel files in the V programming language. I wonder if I can crowd fund an amount to support the write functionality (more effort needed).
Thank you for sharing your thoughts on Manuel Astudillo's article. I found his journey of monetizing an open-source project truly inspiring and insightful. It's great to see how he leveraged the open-source philosophy to build a successful business. I'll definitely keep his experiences in mind as I explore monetization options for my own projects.
I'm curious, what aspect of Astudillo's story resonated with you the most? Was there a particular insight or strategy that stood out to you as especially valuable for your own projects?
It's a nice & bold move to leave without plan and product. I wish I could read more about how he handled his time, thought process and financial situations until making revenue.
Nice conversation, thanks James!
Yes, as James pointed out, I freelanced in chunks of 3 or 6 months and then I could live with that money for another 6 months. Obviously at the bare minimum.
Thanks Manuel! That's good to know. I'm happy you found your exit
My pleasure! I believe he saved up some money at his previous position, and then he freelanced when necessary. Not sure about his time or process.
Nice one, thanks James!