The SaaS Bootstrapper Podcast

TSB004: Turning an open source side project into an $80k/month business with Mike Perham

Listen now:

Episode overview:

Mike Perham is a critical member of the Java and Ruby communities as well as the open source software world. He has paved his way to running a very profitable business from Sidekiq, his open source software project. Very few people have found a way to make money from open source, and yet Mike will probably hit well over $1M in 2017, as Founder/CEO of Contributed Systems.

In this episode Mike talks about why he built Sidekiq, why it’s so valuable, how it got traction, his approach to pricing and how it’s evolved. His path is a truly inspiring one. Don’t miss this episode!

Guest links:

Mike Perham’s blog

@mperham on Twitter


@sidekiq on Twitter

Mentioned in this episode:

The interview:

Mac: Welcome to another episode of the SaaS Bootstrapper Podcast. I’m super excited about today’s guest. I have known his name for years now, partially from both of us living in Portland, Oregon here in the same town and being in the start-up team for a while, but more so because of his work in the Ruby community and his open source work, most notably for an open source project he started called Sidekiq, which not only has become really incredibly successful, I’d say, but also he’s found a way to make quite a handsome living from it. And I don’t know if I know anyone else that even makes anything off of open source projects. So maybe we’ll get into that, but I’m very excited about this. So Mike Perham. Did I say your last name correctly?

Mike: Yeah. It’s Perham. Exactly.

Mac: Perham. Perfect. Okay. Well, great. Thank you so much for being here.

Mike: I’m glad to be here. Thanks for having me.

Mac: And I do…By the time people listen to this, it will no longer be Election Day but I want to thank you for distracting me from Election Day, just for a little bit this morning.

Mike: No. No. And I would return the same back. Anything to take all of our minds off of it, right?

Mac: I was thinking maybe I’ll just go start drinking after this or something. I don’t know but…

Mike: I had been pricing bottles of whiskey yesterday. So…

Mac: Yeah. I bet liquor stores are doing pretty well today. I know I’ll be going there later. So yeah, like I mentioned, Sidekiq, this open source project of yours, I want to back up for a minute and find out how you got here and kinda the story of your career and things, but before we do that, can you give listeners a bit of a summary on what Sidekiq is, because it’s, I think, gonna be sort of a foundation of a lot of our topic here. So can you give listeners an idea of what Sidekiq is and maybe in terms that the non-techy, non-developer listeners might understand?

Mike: Sure. So the big project in the ecosystem that I’m in is called Ruby on Rails. And that is a framework for building websites. So, you know, when a browser comes to a website, Ruby on Rails sees that request and generates a page for the browser to render to the user. Sidekiq is designed and was named to be Rails’ sidekick. So everything that on the website that needs to be done, Rails can do. Any other sort of tasks that happen in the background, any sort of business transactions that need to be processed, anything that the user’s not waiting around for, Sidekiq can do. And so Rails and Sidekiq together form what I think of as a really powerful duo that can really power sort of almost any techy or any sort of business that has an online presence.

Mac: Great. And I was actually on a run this morning. And I was like, you know, I call this the SaaS Bootstrapper Podcast. My guests are not always necessarily SaaS or Bootstrappers always. So I just kinda look for a common thread. And I was like, “Mike has somehow made a way…It’s like almost…You could almost call it SaaS. Like it almost says…Not in the conventional way of how we think about it but like wow, he’s done this in a way that I’ve never thought of,” you know, [crosstalk 00:03:50]. Interesting.

Mike: It was…You mentioned that you don’t know of anybody who’s doing sort of what I’m doing. And it is, certainly, unconventional. I was, certainly, thinking as much outside of the box as I could just for ways to make this whole thing work for everybody, right, so that I could provide this free and valuable project called Sidekiq, but at the same time, make money and make a good living in doing so. So yeah, I had to think way outside the box. And so yeah, I do kind of provide software as a service. It’s not an API that you call back and forth all the time, but I do run a gem [SP] server that is available 24/7 for people to download my gems and update and get the latest updates and that sort of thing.

Mac: Okay. Cool.

Mike: And it is a subscription, so, you know, it is software as a service, I guess.

Mac: Yeah. It is. Interesting. That’s funny. So yeah, I want to come back to a bit more about how you came up with the Sidekiq idea and ended up making money off it, but before that, I know that you’ve been in a lot of…You were in a lot of start-ups before. Is that sort of the bulk of your career otherwise?

Mike: Yeah, pretty much. I’ve been work…I’ve worked at probably a dozen different start-ups, both as you mentioned in the Java world, starting in about ‘97. I starting doing Java. And then I switched to Ruby on Rails in about 2007, so after about a decade in the Java world. And I’ve been doing Ruby on Rails for about a decade now, also. So I have a 20-year career span of being sort of developer, senior developer, tech lead, you know, director of infrastructure, director of engineering, you know, all those sorts of technical roles, even starting again into a little bit of management, but, for the most part, I’ve tried to keep my career arc technical because that’s the kind of… I love to build things. And I love to build projects. So I’ve tried to stay technical.

Mac: And do you have an engineering degree or do you…

Mike: I do. I have a Master’s degree in computer science from Cornell. So I’ve wanted to do computers my entire… I enjoy computering.

Mac: Yeah. Yeah, I’m self-taught. And I do a lot of MVP development these days. And I was kinda curious because it seems like Sidekiq is a fairly like deep, you know… You gotta know a lot more stuff than the average, you know, rail developer. And so I was kinda curious if that came from a, you know…

Mike: Well, part of the reason why Sidekiq has been so successful is because I am solving a hard problem. Threading is not easy. Before I started doing Sidekiq in earnest, the Ruby community was not very thread-friendly, not very multi-threaded. So you had lots of Ruby gems. By the way, a gem is a library of Ruby code that’s packaged together. There were lots of Ruby gems that were not thread-safe. So using them in a system like Sidekiq, which is heavily multi-threaded, proved to be a recipe for disaster. So but after the first six months to a year, a lot of those multi-threading issues were fixed in the various gems because Sidekiq sort of took off in popularity. And now that it’s quite popular and now that Puma, the web side to Sidekiq… Now that the Puma gem is also very popular and multi-threaded, threading is much more natural in the Ruby world today, but threading is not easy to implement. And so I am solving a hard problem for a lot of people. And that’s the value that people are paying for when they buy my software.

Mac: So let’s talk about how all this came about. Were you…I’m always interested in how much people were, you know, when they have a successful product, did it come from actively looking and seeking out something that they really…Was your goal of this to always come up with the idea for something that you could make really successful or is it scratching an itch that you had? I think Rescue was out at the time that you started this. So there was competition, you know, per se. So yeah, how did this…When did you start to build this thing?

Mike: So before…so about five years ago, I was a consultant. I worked at an agency in San Francisco called Cardem [SP] Five. And they had a client that had a huge amount of background processing that needed to be done. They scraped websites. And so they were using…And by the way, the library…They were using some native library in the banking industry to do part of the work that required Java. So they had to use J. Ruby combined with Rescue. And if there’s one thing that people in the Ruby community know, it’s that Java takes a lot of memory. And Rescue is single-threaded. So when you combine those two, you get an incredibly inefficient set-up. You get a gigabyte process that can only do one thing at a time, which is just terrible. So when I saw this and I saw this client throwing dozens of machines to try and churn through all this work, I said, “There’s gotta be a better way. This is terrible.”

So I then…That sparked the idea of, “Let’s build a multi-threaded system that isn’t single-threaded. And that will get you that order of magnitude performance increase that really is required for people to consider changing systems and migrating to another system.” And so that’s what I did. So for the first six months to a year, I was terrified of Rescue and if they were going to improve it, if they were going to make it multi-threaded, and, you know, they’d eat my lunch, you know, but it turned out not to be the case. Like I said, threading is a hard problem to solve. And I had had the background and expertise to work on that. And I had the desire to work on that, whereas I guess other people just weren’t interested in solving that problem. So eventually, Sidekiq stabilized and grew in popularity to where it is, I’d say the number one background processor in the Ruby space, having taken over that from Rescue and delayed job.

Mac: So when you were starting Sidekiq, had you created other open source gems or plug-ins or projects?

Mike: Yeah. Yeah. Well, so open source is fantastic because it really allows anybody with just free time to just start working on something and to publish their code for other people to look at, to offer your code to somebody else so that they can use it, or vice versa. And what I did was when I started getting an interest in Rails and Ruby in 2006, I just immediately started working with the various gems that I saw. And then when GitHub came out in 2007 or so, I signed up for that and just, you know, GitHub really spiked open source. The spread of open source as it, because it made it so much easier to collaborate with people, but yeah, I started…I took over the Memcached client for Ruby. I created a database charting gem called Data Fabric. I created another background processing gem called Girl Friday. And so those sort of projects and that sort of experience set me up for success with Sidekiq because I had many years of experience in doing this.

Mac: Okay. So you had created some open source projects that had probably, I assume, varying levels of success. What were your goals from the get-go with Sidekiq? It sounds like you sort of had a big goal of some sort in your head when you were starting it because you were concerned about, you know, Rescue. Did you…Was the idea, initially, just to have a successful open source project or were you thinking that you might find a way to make money off it down the road or what?

Mike: So given that I had just spent a couple of years creating and maintaining and supporting a bunch of open source projects, when I started Sidekiq, I realized a couple things. One, if my plan was right, this was going to become a really successful gem and a really popular project because, you know, look at Rescue. It was becoming very popular because it solved people’s problem of how to process all this work in the background. So I knew it was going to become very popular. I knew that that meant that I was going to get tons of support requests and that that would take a significant amount of my time. At the same time, I had gotten married. And I had just had my first, my kid. And I didn’t want to spend a dozen hours a week supporting this project for no money when I could have spent it with my wife and child. So I said, “There has to be a way for me, for this project, to make it worth my while to stick around and support that project.”

And so I said, “The money has to be…It has to be in the equation somehow.” You know, if I just tell my wife, “I’m gonna go and work on my project on some weekend morning, there has to be in it…There has to be something in it for our family. And money is the easiest way to…If I can tell her, ‘Hey, I made $2,000 this week,’ then that gives me a lot…That means I can tell her, ‘Well, I’m going to spend eight hours or 12 hours in return on this project supporting my customers and my users.’” So I wanted to make…I wanted to figure out a way of making money off of this open source project. And so I…The first thing I started to do was sell licenses because I licensed Sidekiq as an LPGL project at first. And I know a lot of companies don’t like GNU licenses and would pay to avoid them. So I offered that. And I made a little bit of money, but most of it was pity money. Most of it was my customers who just wanted to pay me something because they liked Sidekiq so much and it was working so well for them. And they liked my support. They just wanted to throw money at me. And they didn’t care about the license.

Mac: And they wanted…This was a one-time fee.

Mike: It was a one-time fee. Correct. So once I realized that I needed to offer my customers something aside from licenses to get them to pay me, that’s when I said, “Well, why don’t I do an open core model where the core of Sidekiq will be open sourced, but I will also offer commercial extensions with more features that customers who like and enjoy using Sidekiq would find natural to upgrade to?” And so that’s what I did. Six months after I launched Sidekiq, I launched Sidekiq Pro with a couple of key features that the open source version didn’t have. And that immediately made me something like 10 X what I had made before with the licensing. And so I said to myself, “Okay. Well, this is nice, good, side project income now, this will work.” And so I just pressed forward with that over the last couple of years.

Mac: So I’m curious how you decided what features to put in and to charge for or those…

Mike: So my policy has always been that Sidekiq will have the features that 100% of my customers need, that everyone would find critical for the usage of Sidekiq. Everything beyond that is fair game for me to either put in Sidekiq if I’m feeling like I just want to give it away or to hold back and to hold back and to put into Pro. And then later after Pro had been out for about two years, I actually launched Sidekiq Enterprise, which had even more features and was an additional tier of features that the Pro customers didn’t have access to. So you can see I sort of naturally went from an open source project where I just gave away everything to more of a SaaS model where you have a free tier and then two upgrades. So that’s, effectively, what my business is today.

Mac: And so how did you decide exactly what people would pay for? Did you have people…Were people telling you this? Were they saying, “Oh, this would be a really great feature that I would actually pay money for,” or was this a, just a big guess or…

Mike: Customer feedback was critical. And that has driven most of my features. With Pro, you know, for the first couple years, I basically said, “Any feature that isn’t gonna be critical for everybody, I’ll just put into Pro.” And that’s what I did. And then about a year after I went into business for myself full-time, I said, “Could I create a higher-priced tier to…” because before, it was just either free or you buy Sidekiq Pro. And that was it. It was my only offering. I said, “I wonder if I can create a higher-priced tier to bump up my revenue that much more.” And so what I did there is I took a look at all the different open source plug-ins that people had written for Sidekiq. And I just said, “Well, I mean, people are writing these things because customers want to use them. Why don’t I just build my own versions of these things and build it and call it Sidekiq Enterprise? And this way, they’ll all be integrated together.

So they’ll all work together well. They’ll be all documented in one place. They’ll all be well-supported by me. And so that’s what I did is for Enterprise I took, you know, chron jobs, rate limiting, and what was the third one? There was a third feature. I don’t remember now, but, excuse me, a third feature, but I launched with those three features. And almost immediately, I had a dozen, two dozen customers wanting to upgrade because they want the insurance of having me around for the next five, 10 years to support this thing. And those of us who have used open source before to build things, we know how some open source projects turn into ghost towns. And they don’t answer issues. They don’t answer support requests anymore. And that sort of comes with the territory of not paying for a piece of software is you just…You have no guarantee of any sort of warranty or support.

Mac: Yeah. I like that. That’s an interesting approach to put out something for free for so long and, you know, being confident that all will be successful and that it does get traction. And then from there you’re able to go see what people are talking about, how they’re using it and what they’re adding to it. And then you can know that there’s the value on top that you can add for and what to search for I think is…

Mike: I think it really resonates with people when I tell them that you can get it almost 100% of the functionality that I sell, you can get it for free. You just have to integrate 10 different open source plug-ins. And then you have to test them all together. And then a year from now, you have to upgrade them. And that’s going to take you hours and days of time. The alternative is you just pay me. And then you have a nice clean upgrade path.

The functionality is all well-documented, right, in my Wiki. And I am just an email away, if you have a support question. So that really resonates with a lot of people. It’s time versus money. That’s always the trade-off, right? Open source, if you have the time, you can build it or patch it together yourself.

Mac: So we’ve talked about how you determined the features that go in, that to charge for. I’m curious now how you’ve…where your approach has been for the pricing. From the beginning, you talked about a one-time license fee. And I know that you’ve now switched to a subscription model. I’m curious how you determined the actual pricing and how you have since the beginnings. I know you’ve…the prices have gone up. And I’m just kinda curious what your approach has been on that because you don’t really have much to compare it to or, you know, to get,…

Mike: For sure.

Mac: …to see what other people are doing, so…

Mike: Yeah. I don’t have a lot of competition. And people who have created systems like mine after I had been established, a lot of them are just aping my pricing, and I’ll be brutally honest with you. A lot of it was just throwing darts at a dartboard. You know, my thought…My pricing with Sidekiq Pro was that I wanted to keep the price low enough to where people were comfortable enough putting it on a credit card and having like a senior developer be able to have the authority to buy it without having to get like VP approval or CTO approval, right, having to run it up the flagpole or run it up the ladder, I mean. So yeah, I tried to…So I’ve been keeping the price of Sidekiq Pro below $1,000 just because I figure that’s kind of a natural break where over $1,000, maybe you need to go get approval from two levels up or something like that.

And then my pricing for Sidekiq Enterprise is much different from my pricing for Sidekiq Pro. Sidekiq Pro is an all-you-can-eat. You pay $950 a year. And you can use it as much as you want within that company. Sidekiq Enterprise though, I have tiers based on the number of threads you’re running. So the number of threads controls how many jobs you can process per second, really. And so when I launched Enterprise, I said, “If this is truly an Enterprise product, I want to be charging based on the value that the customer’s getting out of the product.” And so somebody who’s using Sidekiq Enterprise for 10 threads shouldn’t have to pay the same price as somebody who’s running Sidekiq Enterprise with 10,000 threads, right?

Mac: Right.

Mike: And so that’s why instead of an all-you-can-eat sort of pricing model, I charge based on the scale at which the customer is using Sidekiq Enterprise.

Mac: And that pricing’s been working out for you?

Mike: It’s worked well. What I’ve tried to do is my lowest tier, I offer enough threads in the lowest tier that it covers 90% of my Enterprise customers. It’s really just the 10% that are really scaling up and using a lot that are having to bump up in price. And even then, you know, 500 threads or 1,000 threads gets you so much processing that that’s enough for almost every company. I do know of a couple companies that are using 10,000 threads, even 20,000 threads. And the pricing doesn’t necessarily work for them very well but everything’s negotiable. They send me an email. We work out a volume deal. That happens, but yeah, my lowest tier, my Enterprise pricing starts low enough to where 90% of those customers aren’t paying any more than just the base cost.

Mac: Okay. So, Mike, I have gone to your blog periodically over the years. And I have watched Sidekiq grow. I, again, I do a lot of MVP development and have used Sidekiq in a lot of projects, if not all lately. You shared some numbers with me. I’ve been seeing your numbers. You’ve been publishing your numbers over the, I think, since the beginning. You shared some with me from I believe it was an Indi hacker. Is that what it was this weekend, an article or an interview? I don’t like to cuss on this podcast but man, those numbers make me want to…I can’t believe it. Holy…Can you talk about those numbers for a second?

Mike: Yeah. [Crosstalk 00:25:27]. So my revenue, my gross sales, have effectively close to doubled every year for the last three years. So the first year I started out, I did $85,000 in sales. And then the next year I did $185,000 or something like that, which is effectively double, something around there.

Mac: Sorry to interrupt you here but is that where, is that about when you left…I think you were at The Climb?

Mike: Yeah.

Mac: Is that right? And is that about…

Mike: Yeah. I left half-way through that year, yeah. I think so. So I left…Once I realized I was making more at my…You know, I was making I think about $125,000 or something like that at The Climb. And once I was…So that’s about $10,000 a month. And once the Sidekiq Pro sales were getting me $10,000, $11,000, $12,000 a month, then I said to myself, “Why am I working 40 hours a week to build some other dude’s start-up when I can work on this full-time? And, you know, maybe I can start building other products and, you know? And maybe Sidekiq isn’t my only product? Maybe I diversify and build other products,” which is a little bit of foreshadowing, but anyway, so yeah, the sales were right at where my previous salary was. So I told my wife, “You know, I’m thinking about quitting, honey.” And she was…She’s much more conservative and worries more than I do about big life changes. And I was like gung-ho. And I want to do this. And she’s worried, you know.

She’s obviously thinking about the kids, thinking about us, thinking about we want to get a house, but, you know, she believed in me. And she had been supporting me for the previous year in building Sidekiq in the spare time, in my spare time, and taking care of the kid in return. So I just decided to go out on my own, yeah. And so I built another product called Inspector. And that did not do well. So, you know, you…Some hits are home runs. And others, you whiff on it, but after I was done with Inspector, that’s when I got the idea for Sidekiq Enterprise. And so I, after about three to six months on Inspector, I moved over to Sidekiq Enterprise and spent a few months building it. And it really kind of gave a bump to my revenue in the next year. So I did one, like I said, $185,000 the previous year. I did $45,000 the next year. So probably $150,000 of that was Enterprise. At least $150,000 of that was Enterprise. Yeah. And then this year, I projected $750,000. And it looks like I’ll do about $800,000 this year.

Mac: That’s amazing.

Mike: So yeah. That’s, you know, my churn rates are, thankfully, very low. People see the value of the product. And they just want to keep paying for it. So the growth kind of compounds. More companies keep buying it. And my old customers keep re-subscribing. And so the revenue compounds over time.

Mac: Yeah. It’s not slowing down yet. It doesn’t sound like it.

Mike: Not yet. I mean, we’ll see. I mean, the Ruby market is a smaller ecosystem. You know, certainly, Python and Java and C# are bigger ecosystems, but, you know, we’ll see. Sometimes it’s nice to be a big fish in a small pond. And I keep my operational costs low so that I don’t have to worry if the market does sort of tail off and level. I’m still making plenty of money.

Mac: Yeah. You’re doing well. Do you feel like at this point, having done this, it almost feels like a, that it feels like there’s almost a formula here that’s repeatable? Do you feel like this is something that…Well, do you know what? You just mentioned starting Inspector. And you were saying it, hinting at it, not having done so well. I’m not sure if that’s just in relation to Sidekiq or what. So do you feel like this is repeatable? Do you feel like you could do it again with something else? Do you now feel like you have 800 ideas that you could do this with if you could claim yourself?

Mike: I wouldn’t say yes. You know, sometimes I like to say that there’s a thousand ways to fail and only one way to succeed. Certainly, if people who have worked in start-ups before, they know start-ups fail for a thousand different reasons. It’s only when all the cylinders are firing that you can win a race, right? I have 20 years of experience in the industry working different start-ups. So I saw a lot of failure. So I knew a lot of stuff to avoid. I also designed my business to avoid a lot of potential, troublesome spots. I have no employees. So I don’t have to worry about that side. I have no investors. I don’t have to worry about making VC income, right? I don’t have to worry about VC growth and growing 20, 30% a month. I’m only growing 75% a year or 100% a year, right? That’s enough for me.

So I’ve tried to keep my business extremely simple, limited to just me. And that has avoided me a lot of those pitfalls that do sink other businesses, but that there’s a lot of technical, you know, issues that could have sunk me also. You know, the fact is I had five plus years of experience with Ruby before I started the project. So I knew the ecosystem really well. I had made plenty of mistakes in previous gems. So I could design better APIs by the time I started Sidekiq. So yeah, I mean, there’s a lot of ways I could have failed. And I think every project, every open source project, is gonna be different. I do talk to a lot of different open source project maintainers because they all want to make money, too, right? Everybody wants to make a living doing this.

This is kinda living the dream, you know. Build something on, for yourself. And then share it with everybody. And it gives you a good life. That’s living the dream for a lot of open source developers, but not every open source project is Sidekiq. Some of them have just different limitations, have different ways that users are going to use them. There’s a fellow here in Portland who does read the docs. And so he has a site devoted to documentation. Well, the way he’s gonna be able to monetize that is going to be completely different from the way I monetize Sidekiq. So to some extent, you’ve got to think outside the box in terms of your project. You know, you’re not going to be able to follow my path always or even most of the time.

Mac: What is most of your time spent doing these days? Are you doing a lot of support or is there still a lot of active development? Where does most of your time go?

Mike: So support is a lot of my day, for sure. I generally am spending an hour in the morning answering support emails. And then usually an hour after lunch answering support emails because, you know, you’re going to have back and forths all throughout the day. So that’s…And that never stops. Every day I’ve got support. So that’s one drawback to only having one employee. It is I have no one I can outsource my support requirements to. So anytime I take a vacation, for instance, I take my laptop with me. And I generally spend an hour even when I’m on vacation just answering support emails and then shutting the laptop and going off and sipping daiquiris on the beach for the rest of the day or whatever I need to do, but yeah. Support never stops. Regarding active development, certainly, Sidekiq and Sidekiq Pro and Sidekiq Enterprise have solidified and slowed down.

That’s just part of building a system, working the kinks and the bugs out of it, and then getting a stable library or a set of libraries that people can rely on and don’t change a lot over time. However, the only constant is change. And so I do have, you know, new features that I add occasionally. I am, I have been working a lot for the last three, no, well, shoot. I started work on Rails 5 support for Sidekiq 18 months ago. And I launched it…When did I launch it? Probably in the summer sometime, maybe in, in August, maybe. And it has proven very troublesome. So I’ve released like five different patch releases. And I realized yesterday I’m still not done. And then I’ve gotta re-design some of the internals of Sidekiq to work with the new Rails 5 re-loader stuff. So yeah, unfortunately, I can’t just kick back and drink daiquiris on the beach all day yet. So yeah, support as Ruby changes, as Rails changes, as users come up with good ideas for futures, I am making improvements every week, every month.

Mac: That’s great. It does sound like you’re living the dream a bit, even if you’re not sipping daiquiris all day every day.

Mike: I will freely admit that my life is a lot better than it was a few years ago.

Mac: Are you looking very far ahead beyond this to what’s next or are you still…Is, I mean, you only have so much time. And it sounds like Sidekiq is doing great. I’m just curious if you still think about new products, new software, new something else?

Mike: What I was thinking about six months ago was kind of what I hinted at earlier, which is sort of the Ruby ecosystem and how big can it get and how much longer is it going to grow for? I thought to myself, “Well, diversification is the core, the key, to any sort of financial success, right? To minimize risk, you diversify.” So when I went on my own, I started building a second product called Inspector, which, as I mentioned, didn’t do too well, but that was part of me trying to diversify away from Sidekiq, so that I, if Sidekiq goes away for whatever reason, that I’ve always got some other thing. So what I thought about six months ago was what about other languages aside from Ruby? Sidekiq is a huge success. It’s very popular. Can I bring it to some other language? Can I bring it to Java? Can I bring it to JavaScript? Can I bring it to C# or Go or Bust or, you know, whatever? Python would be another So a couple things I realized. One, I wanted to keep the language as high level as possible. I think that’s one of the reasons for Sidekiq and Rails’ success in building business apps is that it’s pretty high level. You’re not worrying about types and all this kind of stuff that you have to work with in C and Go and those sorts of languages.

So I started playing with various different languages. I thought seriously about building it in Python, but there is another thing called Celery out there that’s pretty popular that already does most of what Sidekiq does. So I decided not to sort of jump into that space. I thought about JavaScript, but I really don’t like JavaScript as a language. And I really don’t like the event-driven, call-back type IO. I think it’s extremely brittle. And yeah, I mean, no JS really isn’t any faster than Ruby. So I didn’t really see an advantage to bringing Sidekiq to JavaScript. So I started playing around with other languages. And one of the languages I discovered was called Crystal. And it’s a statically type language that’s kinda like Ruby. And so I thought it was a really interesting…So what I did was I ported Sidekiq, the Ruby version of Sidekiq, to Crystal. And it took me there days to do it. I was amazed. I was incredibly productive just in a couple days. And it’s insanely fast. The language is really fast. Sidekiq for Crystal is three times faster in just processing no-op jobs, which kinda shows you the overhead of the system.

So it’s got a third of the overhead or three times faster, whatever the number is there. And so yeah, Crystal itself has some issues. It’s still a very young language. There’s still not a lot of people using it. And I didn’t really find any way for me to distribute commercial extensions. So Pro and Enterprise couldn’t build them but I thought it was a fun exercise. I think it’s got a lot of promise in the future. We’ll see if it gets uptake, but Sidekiq for Crystal is out there. People can use it if they want to. I’ve gotten a little bit of feedback from people fixing bugs and sending me polar requests. So I know people are looking at it. They’re trying it out. So I’m excited to see what happens with that, but for right now, Sidekiq is a lifestyle. What I have built is a lifestyle business. I don’t have a lot of future plans. As I said, I want to grow my business as a solo entrepreneur so that I don’t have to worry about, you know, other investors, other employees, that sort of thing. And so I have some amount of success at this point. I want to enjoy that.

Mac: You should.

Mike: So that is just not working 40 hours a week anymore. Maybe I’ll only work 30 or 20 hours a week.

Mac: I think you’ve earned it. Well, Mike, I’m excited to see…continue to watch Sidekiq grow and see what else you do in the future. And this has been really inspiring and enlightening. So thank you for joining us.

Mike: You’re welcome. Thanks for having me.

Mac: Where can people find you online?

Mike: Yeah. So Sidekiq is And the Q is for search engine optimization. I purposefully misspell all of my projects so that I can Google it so that I can search Twitter for people talking about it. It’s just a little, one of those little hacks that I encourage other people to do is, you know, credit your own sort of brand through misspellings or whatever else, but is the website. And then my own blog is my name, so is my blog.

Mac: It sounds good. Okay, Mike. Well, thank you again so much for being on here. And it’s great to meet you.

Mike: It’s been a pleasure. Thanks.

Mac: Alight. Till next time.