Tell us about yourself and what you're working on.
I'm Mike Perham. I've been a Java and Ruby software engineer for the last 20 years. I designed and built Sidekiq, a free and open-source background job framework for the Ruby programming language. My business sells two commercial extensions for Sidekiq, Sidekiq Pro and Sidekiq Enterprise, which provide additional features which are not found in the open-source version.
How'd you get started with Sidekiq?
I realized in 2011 that existing background job solutions for Ruby were slow and inefficient. I'd been an open-source developer for several years at that point and had seen what had happened to popular OSS projects:
- start project with much enthusiasm
- build something valuable, give away for free
- get overwhelmed with support requests and issues
- burn out and walk away
I vowed that if I was going to solve this problem, I had to have a model that prevented that predictable outcome. The easiest solution was money: as long as I made money somehow, I'd be incentivized to stay. At first I built Sidekiq as an LGPL project and sold commercial licenses for $50. Revenue was laughably small, but the response I got was encouraging: people told me they were saving $thousands/mo over previous solutions and wanted to buy the license just to give me something as thanks.
My second idea was to move to an open core model: hold back more complex or enterprise-specific features from the OSS version, sell those features as an "expansion pack" on top of Sidekiq. Thus, Sidekiq Pro was born. This proved to be popular and forms my business today.
How'd you find the time and funding to build Sidekiq?
I launched Sidekiq Pro in Fall 2012. Over the next 18 months of Sidekiq Pro, sales went from 0 to $10k/mo; I was making more from my side project than my full-time engineering job. At that point, I started planning a move to self-employment and pulled the trigger in Summer 2014.
My wife was my main "investor" in that she took care of our child and gave me the time I needed after hours and on weekends to grow the Sidekiq project and start the business. A half-dozen people from the greater Sidekiq community provided design help or other skills that I couldn't do myself. The business itself was profitable from day one and didn't require any financial investment — time was my main investment.
How have people found Sidekiq? What are your marketing techniques?
I'm wholly focused on one market: Ruby developers. I had been blogging constantly about Ruby and OSS projects since 2007 so I had an audience and a reputation already built up. I focused on building an OSS project that was better than existing solutions in all ways: faster, better supported, better documentation, and more features, all for free.
Once Ruby developers (who use 99% FOSS and aren't used to paying for software libraries) started using my commercial projects, they grew comfortable and evanglized them to friends and to future companies that they hired into.
My only planned marketing is attending Rubyconf and Railsconf every year, handling out stickers and t-shirts. I do no advertising or corporate events as I don't think they are effective. I focus on providing the most value to developers possible and listening to feedback.
What's the story behind your business model?
I sell access to Sidekiq Pro and Sidekiq Enterprise as annual subscriptions. My belief is that software is never "done". It will always require changes, especially based on changes to Rails or Ruby over time, and my support load will grow linearly as I get more free Sidekiq users and commercial customers. I don't sell monthly because I don't think my software is something you just start or stop using on that timeframe. Once you integrate it, it's likely to stay as part of your app for years.
I do try to keep the price low so that people can charge it to a credit card without trouble. Providing easy, automated onboarding and billing via Stripe is important to keeping my costs down and customers happy.
Here's my annual revenue:
Launching Sidekiq Enterprise in 2015 provided a nice kick to revenue: a higher priced tier proved natural for my customers who wanted more functionality.
What are your goals for the future?
I've been working daily for the last 5 years as a solo entrepreneur, building as much value into my commercial products and automating my business as much as possible. It's time to take a vacation and enjoy my success for a few months -- relax and enjoy life while the products sell themselves. This is a lifestyle business and I've designed it to run solo, adding a second or more employees would dramatically increase my admin load and operational costs. For this reason, I focus on business changes that I can automate or perform efficiently myself.
My original goal was to make $1M with Sidekiq. I'll be over $1.5M at the end of this year and possibly pass $1M ARR in 2017.
If you had to start over, what would you do differently?
The biggest mistake I made was not selling as a subscription from day one. Offering lifetime support for a one-time fee is a really bad idea. I should have started an email newsletter much earlier, I use Twitter for announcements but nothing beats delivery right to someone's inbox.
What do you think your biggest advantages have been to help Sidekiq succeed?
My own personal blog was important to developing the trust of other developers and converting them to Sidekiq users and then customers. If I was just some random person, it would have been a harder sell. Also, Sidekiq itself had to have a lot of value in order to get developers to try out and use in their projects: OSS does not work well when it is crippleware.
It's common for me to see developers who have bought Sidekiq Pro at their last 2-3 jobs and continue to buy it for every new workplace they join. It's a trusted tool in their toolbox; this trust is critical to the success and growth of my business.
What advice would you share with aspiring indie hackers?
When you learn something, blog about it. People admire and trust those who educate others.
Email sells. A newsletter useful to your subscribers can be an amazing marketing tool.