Chris Oliver (@excid3) is a solo founder who recently passed $1M in revenue from his suite of projects targeted at Rails developers. He's had a wild journey, from being so broke he had to get a job, to getting to the point where he was literally living the 4-hour workweek while making a full-time salary. In this episode, Chris and I discuss the tradeoffs of different indie hacker business models, the right path for building and selling to an audience, and how to use combinations to come up with unique ideas.
Yeah. Sort of like, I'm basically selling this Rails app template, but as time goes on, like there's a lot of maintenance to something like that, to keep it up to date with the latest Rails and everything, so...
Right.
Yeah. It seems like the logical time to be like, yeah, and part of our deal is prices go up after Black Friday. So that should work pretty well, fingers crossed.
You said it was, like what's the price before and after black Friday?
It's 149 for single use and 449 for multiple use. And what I'll be doing in the future is not including free updates every year. So you'll subscribe like on a yearly plan, kind of like Sketch does, I think.
What do you think about Black Friday in general? I keep seeing all these tweets, like, "What are your thoughts on Black Friday as a creator? And what are your thoughts on Black Friday as a consumer?" And people are so charged about this. People are like, "It's mindless consumerism and it's terrible for the world." And other people like, "No, it's great. I get a lot of free or cheap stuff." What do you think?
Yeah, it's interesting. The stuff that I don't like is Walmart making special TVs just for Black Friday that are slightly crappier, but they don't tell you that. But as a business owner, it's great because that ends up being like a couple months of revenue over a weekend sometimes, which is awesome.
But you don't want to go too far with, it seems like a lot of people this year are doing like 50% off, which is a pandemic year, which I understand that's a good way to like help people out. And that's kinda how I treated it as like I'll do Black Friday deals for a way to give back, but probably the best thing that I've ever heard was a friend of mine runs a pizza restaurant chain, a small one, and he told me he'll never discount his pizzas. No coupons or anything, but he is happy to give them away for free because that does not discount the price of it.
So they always know it's worth the, you know, $22 for a pizza. And I thought that was like a really good thing. So I try and do my deals like that if I can, but for some of it, it's just easier to do 50 bucks off or something. So...
These kinds of discounts always remind me of Groupon, where they were getting all these brick and mortar businesses to do these ridiculous deals pretty much all year round. So like 50% off, 80% off, 90% off in some cases. And what happened was none of the customers ever came back. Like people were just cheapskates and like, "Yeah, sure. I'll go skydiving for 20 bucks." And they would go, and then they would never, the businesses would never hear from them again.
A lot of businesses went out there because they were losing so much money giving these deals, hoping that people would show up again and nobody ever came back.
Yeah. That is the worst thing to happen. You don't want that. And it's the whole point of doing these deals is usually you want them to be repeat customers. It's why Starbucks has their loyalty stuff. They get you to come back again and you know, it's just a little incentives, but yeah, if you're doing it at a loss or anything, then that's not going to help you, really.
Yeah. And I liked that you mentioned these loyalty programs, like at best, most of these brick and mortar businesses have little punch cards where you get a discount when you get your 10th coffee or something. And that kind of sorta gets people coming back, but it's super primitive compared to what online businesses have, where, you know, you've got all your different products and I guarantee you've got probably a pretty big mailing list where you can re-engage your customers whenever you want to.
Oh, it's huge. Because it's grown to like 23,000 people. And these are people who gave me their email address to really, they want to hear updates from me and that's much more deliberate than a Twitter follow or anything like that. So, that has been phenomenal. And really going the distance that I think is setting up like automations in ConvertKit has been phenomenal because, used to not do that and I used to not really take advantage of my email list or even really collect emails.
And for the people who stumble on your site for the first time, get them on your email list and go send them something, email that you pre-planned out once a week. And that makes a huge difference because then it just builds trust with them on who you are and all those, like other little nuances to the relationship that you have with this person. You don't even know they exist, but they're like, "Huh? Who is this guy behind GoRails?"
And, you know, it builds up a lot of trust and they learn things and you just teach him over your email list and eventually they're going to buy something because they're going to trust you and know that you do good stuff and they're interested in that. Otherwise they're going to unsubscribe, which is totally fine too.
Yeah, exactly. And you mentioned trust here. You tweeted recently that you had a million dollars in total revenue across all your products. Most of that comes from teaching people how to be better developers, teaching people Rail stuff. And a lot of that comes from trust. People have to trust you in order to decide they want to buy your products.
And I've seen this pattern again and again and again, when I've interviewed people who are educating software engineers or educating anybody, really. Some good examples would be Wes Bos who sells courses and he builds up a lot of trust over Twitter. Same with Adam Wagon and Steve Sugar, they just tweet lots of educational instructional stuff. In Wes' case, he'll release free courses and people can take the free courses and be like, "Oh, this guy really knows this stuff."
And then when he releases a paid course, people trust him because of the free staff and they'll buy the paid course. I've talked to Tara Reed who teaches people how to build apps without knowing how to code. And she built up a lot of trust in the early days, just by basically giving talks, I think, is how she first got on people's radar.
And then she would go on people's Instagram accounts and do takeovers and like teach people through kind of influencer marketing. And that's how she gets people to trust her. There's Egghead IO, where the founders originally had a YouTube channel where they were giving stuff away for free. They had tons of subscribers and email list, and then eventually they started charging.
So, I think there's this consistent pattern here. If you're going to educate, you need to first build up trust and you do that through giving away free products.
Yep. When I started, I had no one knew who I was. I was posting a few blog posts about if something took me more than say, four hours to figure out a bug in Ruby on Rails or something, I would write a blog post about it, what my solution was.
Cause clearly I spent quite a bit of time and I couldn't find the answers, so it's probably going to help somebody else, and if not myself, in six months or whatever, what I hit it again. So, that was kind of, SEO was really the thing that I started with because people would start to follow my blog because I was posting about things and I would share them on Twitter too, but like, I didn't have a big Twitter following. Even today, I don't have that big. It's not even 8,000 followers on Twitter yet.
So really, SEO has been the big thing. And then I was posting tutorials and sure enough, they started being linked to on Stack Overflow and stuff, which really built the audience. And I was like, maybe I could turn this into a business. So, SEO was really my first place that I stumbled into kind of on accident. It wasn't on purpose. And it's probably one of the harder things to do, but as long as you're writing about stuff that no one else really is, that can help.
Yeah, I think just writing for developers, in general, is such an advantage because we're always searching for stuff. We're always Googling stuff, where I was on Stack Overflow trying to find the answer to some obscure question. And if you write about something obscure enough and unique enough like you were doing, then you're not going to have a lot of competition to be the front page of Google. So you're doing a lot of that, you're driving a lot of traffic, where do you go from there?
Yeah, I turned into trying to sell a course, but nobody knew who I was and I realized I'm going to sell like two courses a month for 40 bucks each and that's not going to pay the bread.
Yeah.
Then I realized like, okay, the guy who was screencasting before me, that I really liked was doing a free video every other week. And the free videos are a way for me to do marketing. And very few people are screencasting. So I can publish those and give them away and link them out, and there's, you know, other newsletters like Ruby Weekly that goes out to 40 some thousand Ruby developers. If I can get my videos in there, amazing.
So that goes out and starts, you know, building the audience for me. And over time that really helped because I was able to just have new content every other week that was for free that people would discover me by. And then having email capture next to that allows me to push those updates to them every week, instead of them randomly stumbling upon it on accident or whatever. So that, you know, built more of a direct relationship with people, which was pretty much crucial to building a screencasting education business.
Smart. So you just had kind of dumb traffic coming in from Google and Stack Overflow. And you took that, added a newsletter capture form to your website. And now it's not just traffic, it's an actual audience and you can re-engage them whenever you want, build up trust, eventually sell stuff to them. What is it that you're selling and what is it that you're teaching people?
It's pretty much how it's been for almost seven years, I guess now where I post videos every week, the content has changed quite a bit, but I cover Ruby on Rails topics and I try and teach stuff that is almost like we're sitting down and working together. So I want to record not basics. Everybody that's doing YouTube videos and screencasts on a lot of programming stuff just default to "Here's, you know, intro to HTML or Ruby on Rails or whatever it is."
And there's a lot of that, so I'm deliberately trying to do a bit more advanced stuff and do topics that people aren't able to find easily. I take those learnings and turn them into screencasts. And a lot of it now is we've got a really good Slack community of a couple thousand people in there that are talking every day about Ruby on Rails and stuff, and encouraging each other, working together, and it's awesome.
And we've also got the forum where those are great for other people who don't want to be, you know, they want to ask you a question about something that is like an architecture question of how would I build this feature? Does it really fit Stack Overflow well? Because they want specific, like "Here's an error, how do I fix it?" And, these are like more philosophical programming questions.
Right. So, Stack Overflow is kind of like a universal question and answer site where you ask a question and millions of people might have that same exact question. But on your forum, people can ask more personal questions and things that no one else cares about, just that are really specific to them.
Yeah. And so I try and provide a place for that, that doesn't really exist. And that's kind of been really useful. It's hard to keep up with all those, but I try and answer as many of those as I can. And I spend a lot of time just messaging people, you know, on the forums or on Slack or on Twitter. And email, that's been a tough one to keep up with, but you know, all of those are like ways for me to help people out for free. But that hopefully gets them to come back and watch screencasts and pay for those, you know, so everything's really about educating people and certain topics are much more complicated and take a lot more effort. And those are the ones that fit is, you know, paid products or whatever.
Yeah. It's almost like a Substack where on Substack people have got these paid newsletters. And they send them out once a week, twice a week, whenever and people pay a monthly fee to subscribe. And you're doing the same thing, except you've got a paid screencasts. But I'm on your pricing page right now.
You're charging 20 bucks a month or $200 a year, which is a pretty good amount. It's more than most of these paid newsletters costs. And you've also got a custom community forum, just like Substack has for all their newsletter authors. And I'm assuming people were just subscribed because they just want to watch your videos every week. Or is it more of like people have a very specific problem? And so they just want to go search your archives for the exact video that will solve that problem?
Yeah, it's interesting because there's very clearly in my, if I look at people's usage, there is very clearly two groups of people. People who want to just be up to date on stuff and just keep an eye on what is going on in the Rails world, will stick around and they'll stay subscribed for a longer time and they'll probably be more involved in the Slack. But then there's the other group of people who are like, "Hey, I'm building this app for my job and I need to go add Facebook login and here's a video and I'll go pay for that and launch that," and you know, may not stick around.
And so there's kind of naturally higher churn in that group of customers, which makes sense. But it also makes a business really hard to grow. They're here for specific things and don't necessarily stick around which isn't great for the business as a whole, but it does help them, which is, at the end of the day, what matters.
Yeah. So I've seen this exact same pattern, putting out content with Indie Hackers, where it's very tempting to do. It's kind of like evergreen, very functional, educational, how to content, you know. Here's how to solve this specific problem. But the problem is like the only people who care about that are people who have that very specific problem.
And once you solve it for them, they just don't come back. They kind of hit and run. And the opposite is informative content. If you can teach people about what's going on in their world, keep people up to date, people don't really turn from that. Like it's the dichotomy is like, you know, I look at it like school versus news.
People graduate from school and then they don't go back because they got what they came for. But nobody graduates from reading New York times. You go back to find out what's new every day or every week. So, it's not shocking to me that the people who just want to be informed about Rails are your highest, your sort of lowest churn subscribers.
But there's an exception to this that I've seen, which is if you're doing educational content and you want to have like an endless found to people who are searching for educational content, even if they're sort of headache and quitters, if you can get it on any sort of search channel, because that's where all of these one time visitors come from, like Google search or YouTube, that's pretty good. So, how are you thinking about YouTube? Is that a channel you want to be on even more?
Oh, definitely. I publish my free videos on YouTube mostly just to keep them free for me. So I don't have to pay for the bandwidth and all that, but I think that part of the problem is it's not going to bring the intermediate or advanced developers that I'm generally selling to, I would have to then go tailor more content to beginners.
Honestly, I haven't been a beginner in programming for a long time, so there's so much that I take for granted, that, you know, to thoroughly explain something as a beginner would take me a lot of time, but I bet if I did go that route and I've toyed with the idea of doing it, I probably would be able to like very thoroughly explained stuff that, you know, a lot of the tutorials will just gloss over basics.
There'll be like, "Don't worry about what this does. Just type it." And you're left wondering, like, what just happened here? Or like, if you change something, you don't know how to fix it when it breaks cause you didn't ever really learn how or why it works.
Right.
So, yeah, I think that's something that I will probably do in the next year is trying to do more basics and like beginner stuff, because that also helps the funnel of, you know, the market size for my intermediate content grows the more that I can get people to become intermediate, you know, Rails developers or Ruby developers. So, it's something I probably need to do.
Let's go back to the beginning because obviously your crushing it now, your business is doing very well. Like I mentioned, you've made over a million dollars in revenue in your products, but I know the first few years for you were pretty tough. You made like less than minimum wage for a year. You ended up having to go back and work a job. Maybe the first three or four years for you were not easy. Tell me about those early days.
Oh, man. They still, regularly, I feel like affect some of my decisions because I was, I had to be so frugal. But I knew my personality wasn't super risk-taking. So, what I did was I was consulting. And I saved up, I don't remember how much exactly, but I had roughly like nine months of rent and food and whatever expenses saved up. And I realized from all these years of trying to build something on the side and, you know, at nights and weekends, I needed to really go cut myself off from that, burn the bridges, forced myself to figure it out because I knew I could, but I wasn't putting in the effort that I needed to.
And so I did, January 1st of 2014, and I went all in on GoRails. After I had a little bit of, you know, I knew that there was like 6,000 visits a month to GoRails website, so I knew I had some audience to sell stuff to. And the first year I tried to do a screencast and just do that course originally.
And boy was that hard because I'm a programmer. All of my work is generally in my head. And so I'm thinking, but not talking about what I'm thinking out loud, and that's really how I need to teach in a screencast. And, I couldn't stand my own voice and I couldn't even sit down for 15 minutes and record a screencast.
Like I would just get frustrated and give up. And so, I had to force myself to record for 15 minutes a day, whether or not I threw it away. I just needed to build a habit so that it took me like the first half of the year to get my first 15 videos that I turned into a course together. And then, I launched it to basically nobody. No one really bought it. No one knew who I was. I think I made a couple hundred dollars on that course, like selling one every two weeks or something. And, then when I moved to, switch over to the weekly screencast to get more, you know, exposure, I was running out of money, so I'm applying for jobs and I get a interview with a YC startup and that's when I realized that things were starting to take off on GoRails because the day of like my first interview or stuck in interview, GoRails was like number one on Hacker News. And someone I didn't know, submitted it.
And it was linked on Hacker News, like the whole day, right at the top. And I was like, well, this couldn't make my interview go any better. And then I was like, starting to doubt, like, should I even get this job? Because clearly it's going somewhere now. Like I know that I had always struggled with the term product market fit and I realized then that it was like when people are pulling me to do more of something, that's when I know that I'm starting to get towards a product market fit of some sort. And I'm being, you know, encouraged to continue doing more. And I had that feeling before.
So that was kind of a fascinating time, but it was like, I'm out of money and it's grown to like 500 bucks a month or 450 a month or something. And that wasn't quite enough to pay my bills and whatever, and catch up in time. So I took the job, moved to New York city for a year, learned a bunch of stuff and it didn't work out. And so I went back on my own for GoRails. And I've been working on it that time while I was at the job.
So, continue to grow and I was just kind of doing it on the side there and not worrying about making money with it for a year. And, when I decided to leave that job, it was like, "Okay, it pretty much pays my bills if I moved back to the Midwest," but it was like, 36,000 a year or something that it was pulling in.
So it wasn't great, but I was like, "It's close enough that I think I can wing it and I don't have hardly any expenses and we'll see." So I did. And putting in my full time at that point, got it to grow quite a bit better. And it's perfect timing to be talking about this right now, but the original Black Friday sale that I did was, it's $9 a month and this isn't sustainable, so I'm going to raise it to 19 a month after Black Friday. So that's my Black Friday deal. Get it now before the prices go up.
More than doubled the prices.
Yeah. And I got a ton of people to sign up and that added, like 2000 MRR or something around that...
Wow.
...first Black Friday that I did. And that was huge because now it made it like sustainable for me where I could live full-time on this. Not ideal. I still want to get to like, I still dream of having a full, like regular engineer salary, but it's enough. I'll survive on this and I don't have to answer to anyone. And that was a pretty good milestone. I like, you know, very happily remember that moment.
And you probably wouldn't believe at the time that you were eventually going to make much more money. You're eventually gonna make a million dollars from all this stuff, but it's not shocking to me that you had product market fit. I mean, you kind of were the successor to RailsCasts, where they would publish these weekly videos and they also had subscribers. And I don't know who was behind RailsCasts, but apparently he stopped working on it at some point.
Yeah, actually, Ryan Bates was the guy who did RailsCasts and I learned everything from him when I was learning Rails. And that was the inspiration when I was like, I'm going to sell a course or something because I miss RailsCasts and maybe I can teach them stuff. I know I can teach a few things. And yeah, that was my inspiration. And when the course thing didn't work out, because I didn't have an audience, the weekly screencast, and basically like, what if I can be sort of a successor to this?
I'll never teach it the way he did. I'll be my own kind of, you know, educator, but people miss that, I dearly miss it. So why don't I go, you know, try and fill that void and you see that working really well right now with Ben Orenstein building Tuple, everybody missed Screenhero.
Yep.
And Tuple's grown amazingly. So, it's an interesting approach to use if you're trying to find a business idea. Like what is something you really wish still existed?
Yup.
Go recreate it. And you see that all the time.
I'm looking at your Hacker News posts from 2014 when somebody submitted you and it's like out of the top five comments, four of them mentioned how much they missed RailsCasts and to talk about RailsCasts. And it's like, you're just like hitting that spot where people used to get a thing and it was taken away from them. And now like you've slotted right into that desire.
Yeah, it worked really well. And Ryan Bates kind of burned out, I think, from it. And so he disappeared from the internet for a long time. And actually he just popped up on Twitter again after a couple of years. And you know, he still keeps RailsCasts live, and he had a sponsorship with Digital Ocean and had some trouble with that, but they, he tweeted about it and whatever. But it's nice to see him pop up, once in a while, know that he's still doing well and still exists.
So, this is one way to come up with an idea. You see that something was already popular, then either it got really crappy or disappeared and you can kind of just copy what they were doing and, you know, the demand is there. They sort of proven that it works. Another idea I have in this space that I've always wanted people to do is games.
I just don't understand why there aren't more games that are helping people learn how to code, because learning how to code is like, quite frankly, not that fun for a lot of people. It's pretty hard. But if you can actually have fun doing certain things, I think in games are addictive. And I kind of tested this once with my brother.
I've taught a lot of my friends how to code. I taught my brother how to code. And for one of his final products, our projects, before he applied for jobs, I was like, "You should have some sort of game that you make..."
Okay.
"...that teaches people some coding concept." And so he decided he was going to teach people CSS Flexbox and he was going to do it through this game that was like a tower defense game. So tower defense games, like you've got all these enemies, they're trying to get from one side of the screen to the other, you build like these attack towers to shoot the enemies before they get to the other side and destroy your castle. And the trick with his was that you have to use CSS Flexbox to position your towers.
And so, every level would teach you a few more concepts and you'd have to be really good at Flexbox to be able to like move stuff around fast enough to not lose. And, to this day, I mean, this is like five years ago, to this day, people still are like streaming his game on Twitch and they are like donating stuff and they're tweeting about it.
It's just a cool resource that people find that they're like, it's just the coolest way to learn CSS Flexbox. Like there isn't a better way to learn it. And I'm shocked that no one's like, no one's copying this. Like nobody did this for CSS Grid or a bunch of other concepts. And it blows my mind that like, people aren't more creative here.
So, there are downsides. I mean, like it's hard to sell a game, people aren't going to pay money for this. But I wonder what you would do, you know? Would you put a price on this? Do you think games are something people could use for learning to code?
I think that seems like the perfect free thing to give away that you can turn into, you know, let's make a CSS course where we build games to learn the CSS properties or something. I would probably do it as something like that, where the game's clearly super valuable if it's free because it attracts so many people.
I wouldn't try and monetize that because you're going to dilute the value from it pretty quickly. But if you do say like, "Hey, if you really enjoyed this style of learning, I've turned this into a course where you can learn JavaScript by making games and you can learn CSS by making games and this other course or whatever." You know, you're building your trust and you can turn that into products.
And you know, this is like one of those things that I loved about Adam and Steve Sugar when they were posting all those CSS tips, kind of they'd struck on something that no one else had done. There's a lot of people who are teaching CSS in front end design for developers, but there's had a nuance to it that was like, "Here's what you would probably do. And here's how you can tweak it to be just a little bit more polished." Because there is so much of that in design that I'm like, "Yeah, I can use bootstrap and like roughly get what I want. And I can put a little detail into it." But honestly, it never has the polish that, you know, a professional designer would put on it. And they were showing those little things that no one else had taught, which was like, use this kind of shadow or like, if you're putting gray text on a green background, try using a light green instead of gray. And that's going to fit way better.
And you're like, "Oh, duh, of course!" But they were the only one that was like, the only group that was like posting those types of things, and by doing it for free, they got a massive audience, which was perfect launch Refactoring UI and Tailwind UI and everything that they're doing.
And, I really liked that approach of like make something free that people just swarm to and then sell stuff because, don't sell that directly, sell things around it. Because they're going to trust you now and that you don't want to dilute at all. You want to continue that because it's a wonderful funnel to have for your business.
That makes perfect sense. And I think people often struggle with, like how do I make something that's gonna, the people who are going to swarm to? But one of the things that I've noticed, if you're putting out any sort of content, is that people just flock to novelty. We're just, we're hardwired to like anything that we've seen or heard a bunch of times, like we just sort of phase it out because our brains want to pay attention to whatever's new. That's the threat. That's the stimulating thing.
And, if you think about, "Okay, well I live in a world with 7 billion people. How am I going to make something new that no one's ever done before?" One of the tricks that I found is just like, you just start combining things like you take one idea and you combine it with another idea and suddenly you get something that like very few people have done.
And if you combine it with a third idea, then you get something like probably no one's ever done. So, you know, the game situation, it was like, okay, CSS Flexbox plus tower defense suddenly, like, that's a really interesting thing that no one's done before. There's another guys on Product Hunt who made this avatar library. And it's called toy faces.
And it's basically like these 3D avatars that look like toys and they're also all diverse. And so, it was like diversity plus avatars plus toys, and he got like 1500 upvotes on Product Hunt just sort of like combining those two things that no one had ever seen that before. So I wonder if you're trying to like teach people to code or do something you just got to figure out like, what are you going to combine to be unique? So you stand out and no one's ever seen it.
Yeah, that is, I mean that is the thing that I usually am thinking about when I'm trying to figure out what to teach. It's a lot of stuff that I'm like, "What do I wish I could learn?" And I'll go teach it to myself and then I can go teach it in my own way. So those tend to be things that like, I can't find good tutorials on or whatever.
And by going and doing the hard work of figuring it out myself, then I can condense that down into a course or something and save you a lot of time. One of those examples was the strong customer authentication rollout at Stripe was like, you know, a lot of documentation, but it was hard to wrap your head around how has this changed from before?
So, I actually spent some time, learned the changes for that cause before I could implement Stripe without reading the docs I had to basically memorize. And SCA comes out and everybody's kind of confused on what are these new things like payment intents and setup intents, and why do I have to do this now?
And, a lot had changed. And so, that's one of my courses where I went through and spent the time, learned how to implement this and turn it into a course for Rails developers. So if you want to implement Stripe, you can definitely read the docs, but also if you want to see something super specific to Rails and, you know, go through all those steps, I made a course on it, you know, and it'll save you hopefully quite a bit of time, cause you're, I'll be able to go explain the concepts and whatever. And in the right context for those people that, you know, the Stripe docs are going to be more generic because they can apply to Node and Rails and Python and Go and whatever. And just a little tailoring towards my audience can turn into a course, which is kind of cool.
That's super smart. And it's novel again and like a bunch of different ways. It's novel because number one, it's new. Like you weren't writing a course on some old thing, there was a brand new Stripe and your course is about that. And that guarantees you're going to be writing about something that people are searching for, people are talking about because it's this new thing that just happened. And you're not gonna have a lot of competition because no one else has really had time to put out like a screencast on it.
And the number two, you're doing, like you're doing the combinations, right? It's like, okay, it's not just Stripe. It's not just Rails. It's the combination of Stripe and Rails. And assuming both of those buckets are big enough, it ends up still being a really big audience. Like Rails is a massive, massive programming framework. So even if you combine with something else, like you're still going to have a market where you can make a decent amount of money and get customers in the door.
Yeah. And this was always the thing that I think about. If you've been in high school or college and had a career advisor, they're like, "Do you want to be an architect or a programmer or whatever?" And really what everybody wants is like a blend of things. You don't want to just be a programmer. You want to be a programmer who can run a business, who knows a little bit of mobile marketing and whatever.
And it's always a combination of them. And those are always the most interesting jobs. You're not just a plumber or something. You're like a plumber who specializes in fancy geothermal stuff or whatever, you know? And all of a sudden now you've jumped from the commodity job to like a very specialized high-end, you know, unique thing.
And you don't have much competition. You can charge your higher prices. Like you're adding value because you're specialized. And that's kind of what has been nice about GoRails as well as you can take that first thing that worked and then go add another piece in. So for example, I'm doing screencasts on Ruby on Rails, but at a point I was like, one of my tutorials is how to deploy it, and it's deploying to your own servers.
And I got tired of doing that myself. And one of my friends was like, "Why don't you just automate that and turn it into a product?" And so we did. And it's like, now I'm tools for the Rails communities. So I'm teaching them things, but I'm helping them deploy their code. Now I have a template that you can buy as your app with payments already to go and teams and all these other features.
And that'll save you a hundred hours out of the box, you know? And there's all these new combinations that I can add in that give me ideas for new products and it just continue to grow. And like the education stuff is not, I'm good at it, but I'm not, I don't love just doing screencasts because there was many, many years where I was about ready to give up on the screencast and just shut it down.
And adding these other things where some things that, you know, hosting has way less churn. So that makes things more sustainable. And that gives me a lot of ideas for the screencast. And all of a sudden it started to come together and fix a lot of frustrations that I had with just the one specific product that wasn't really working out for me, personally. Like I wasn't fulfilled just creating content.
Right.
I'm naturally a good teacher, but I don't love only teaching. I like explaining stuff because I like learning. And the only way to like be happy then is just as be building new things all the time. So if I'm just teaching what I know, I'm not going to be happy.
Talk to me about screencasting a little bit. Cause I don't know, I've never made a screencast. I imagine it's not easy to do. And you mentioned that when you first started, you had like this conscious incompetence where you're very aware that you weren't good at it and it didn't feel good to do. What are people using to record screencasts nowadays and what makes people good?
Yeah. I mean the big thing is use some software, like I use ScreenFlow and love it. But use something simple to work with. Like you don't want to be a recording screen cast and making mistakes and you export four hours of video when you import it to final cut pro and you spend another 12 hours editing, you don't want to do that.
You want to be like, my philosophy in screencasting is I would love it to be like we sit down and we pair a program together and it's just our discussions and our thoughts as we go. So you can understand how I think and how I solve these problems. So that is what I end up doing. And I'll use ScreenFlow and they can record the screen and the webcam and mic all in there, edit all in there.
And it allows me to record as I go. So, I will sit down and know roughly what I want to talk about. And I'll usually build it, say two or three or four times ahead of time so that, you know, if you're programming and you run into a bug that you don't know why it happened, you're going to go off the Rails for a good 15 or 20 minutes. And you don't want that in your video.
So, it's helpful to go practice it, say three or four times. And then when you sit down, you can be very vocal about your thoughts as you go. I'm like, "Okay, we're going to start here. We need to add this library, we need to set it up and configure it, and then we need to create these database records or whatever."
And you can just step by step through that and explain kind of the, my goal at least is to explain the thought process. Like I'm not trying to just give you, here's a bunch of code to copy paste. Really trying to teach you the thought process. And so that's the real thing I'm selling. That's the hardest thing to learn.
And I think it is really hard to learn it for some people, you know, a written tutorial. So videos can be really valuable for a certain style of learner. Not everybody learns best in video, but yeah, I pretty much just go and practice it a few times, record, if I make a mistake or mumble something, I just delete the last minute and re-record that. If you include those, it makes the viewer kind of question your ability. And you were like just distracting them from the core topic you're trying to share.
So, I try and avoid those, but I really love making some videos that are specifically on that, where it's like here, I have this weird error, let's actually make a video specifically about how we figure out what's the problem, how do we fix it. So, if you're deliberately talking about those things, then I think that's better.
If somebody wants to start this today, would you recommend that they take your approach where you were, I mean, you built GoRails from scratch, as a custom built custom design website, you have to grow your own email list. It's all a hundred percent in house. But there's all these other platforms. I mean, we mentioned YouTube, there's Egghead IO, where they're basically hiring working with course creators to put courses out and they sort of handle the distribution for you.
There's platforms like Teachable, so if you're trying to make a course, they've got a bunch of different tools that allow you to build a course super easy, so you just focus on just the content. You don't have to build the sort of website around it. What would you recommend somebody do if they’re just starting?
Yeah, I would probably recommend using something like Podia is really great because you can sell a membership. So if you wanted to sell a weekly screencast, like I'm doing, you could do that built in, but they also have courses and digital downloads and other things. So you could easily extend and, you know, add other products that weren't necessarily screencasts. Originally, I built it myself because I wanted to teach how to build it. And I thought that would be really fun and kind of meta.
But of course, I was very bad at screencasting back then. And I built the site and tried to record some, but it was just, it just didn't work out. I was bad at the beginning. And so, I recorded it and I think I just threw it away because it was like, this is not coherent enough to really enjoy watching. But that was my goal, was like, it'd be really fun to see how these things are built that you're using, you know? Like it's really cool to think about how do you go build Indie Hackers and like, what approaches do you use, and how do you implement these certain features?
And that is the sort of stuff that you don't find in tutorials generally, like that's one of those unique things that you can plug in and it's like, "I'll show you behind the scenes how things work." And you don't find much of that. So, I like deliberately going that direction.
I like that idea of "Here's how Indie Hackers is spelled. Here's how your other favorite website was spelled." It's going back to that idea of okay, you're trying to create stuff. You want people to pay attention and you need to like make it unique. One of the easiest ways to make it unique is to combine things. And so if you're going to do programming tutorials, maybe combine those with like popular websites that people want to know how to build.
I know at Makerpad, Ben Tossell does this really well in the no-code space. You won't just be like, "Oh, here's how you can like build a profile page with code." He'll say like, "Here's how you build Airbnb," something very specific that people are interested in. And it's very vivid and people are like, "Oh, I want to build Airbnb." And I think his tutorials just do really well cause he's combining both something that you know about and like this technology you want to learn.
Yeah. And it's not trivial. It's not like just the profile page. It's like, no, you have to think about the entire workflow, people searching and checkout, and all those things, and that is a thing where like, "Oh, wow." I can't just read a one-page blog post that teaches me that entire thing. That is many, many steps and lots of decisions that you need to make. And you're probably not trying to build a Airbnb competitor, but you're trying to build this for a different market. And that is perfect. Cause then you can go grab that and say,"Cool, let's try and apply this to some other market."
Exactly.
That I think is really good inspiration for people and yeah, I enjoy those. That's another interesting thing about like the weekly screencasts, don't have to be as advanced or as thorough. I can cover like a specific feature of Airbnb and I don't have to spend, say three months figuring all that out and turning it into a course.
It's a lot smaller investment, which I kind of like about the screencast. But I've also gone and done some courses. And, there's an interesting balance there where it's like some of these things are three months of hard work and a launch and you make a bunch of money and then you have to maintain it a little bit, but you're basically done.
And then the screencasts are like, "Okay. Every single week, I got to sit down one day and record the video for next week." And it's a bit more of a treadmill, but it also has a much steadier revenue compared to a course launch. And for me, that was like more important cause I was originally like, how do I replace my salary? And I wanted steady. I didn't want to make 40K in one month and then nothing for the rest of the year or something.
Yeah.
That was too risky for me, personally.
Yeah, it's kind of a preference where I also don't like the idea of working super hard on something kind of keeping it hidden. And then having this one pivotal moment that's huge, all or nothing launch. It has to work and you're just sweating bullets the whole time wondering what's going to go well. And whenever I see people doing things this way, I'm just like, like I would literally never do anything that way. I've never done anything with Indie Hackers that way, besides maybe the first launch and took three weeks to get the product ready before the first launch.
So it wasn't like, you know, all my eggs in one basket here, it was super simple. But everything I've ever done after that, like the forum, I just sort of like, it was a gradual kind of like, "Hey, this is here, but I'm not going to launch it." The product directory, even the podcast, just kind of like, I'm gonna put it out quietly and then keep working on it and iterating on it.
And then what you can do is you can launch things later. So Indie Hackers forum existed for like a year and a half before I put it on Product Hunt. And by the time we put it on Product Hunt, it was already really big, I had iterated all the kinks out, and I felt confident about the launch. And even if the launch was a dud, I knew the forum was doing really well, regardless.
Yeah, that is what I just did for a course that I actually haven't like officially launched it yet either. I had a sort of fake launch originally, maybe a month and a half, maybe two months ago. And it was basically, it's now an early access, and if you want to review the course, you still pay for the course, but if you want to review it and give me feedback and I will go and take your feedback and improve the course and then answer questions that you have in the course.
It was a way for me to get students more involved who are really excited about it. And I could do that. And then when it's pretty polished and reviewed and everything by actual people, then I can do an official launch later on. And that was kind of nice and actually just charging for the pre-release version of it, to some people they were like, "Why is this not free?"
And I was like, "Well, it's not free because I'm actually going to be doing extra work for you personally, while it's in this, you know, beta period." And I think I saw that with Adam Lathan's tweet somewhere that he mentioned, you know, there's actually a good argument to be made that a pre-release version of Tailwind UI or something might cost more than the actual final version, because it's not as polished and he's going to have to do more work to help you specifically, you know? And I thought that was kind of interesting.
It's counterintuitive. People would think, "No, I'm not going to pay more for this early crappy version." But like they aren't getting something in return, which is like getting a first loan.
Yeah.
They're getting in the line well before anyone else.
And some personal, you know, connection with the creator because they're actually getting involved. And, you know, once you have, with however many sales they've made on Tailwind UI, they can't go personally talk to every person, you know, at this point. But when it's an early access and they have a significantly smaller group, you're going to have much more access to shape the direction of it or whatever. And that can be really valuable for some people. So it is absolutely worth paying for in the early days, but not for everybody.
So, the process of running GoRails, you sort of discovered that there's more ideas here than just screencasts. You've talked about putting out courses, you've talked about putting out templates, you've talked about the fact that you built this kind of SaaS application to help people like deploy their Rails apps, but we haven't really gone into detail on any of those. Which of those do you think is the biggest business opportunity for you?
Probably Hatchbox, which is the deployment tool. That one, in a sense, it's kind of competing with Heroku or AWS in a way. You know, competing with like a Beanstalk or something, but not servers itself. I mean, we just launched that in like January of 2017, somewhere around there as a like, "This would be nice if we have something to save me time, like we'll just automate this script." And that's been one of those ones where people have been continually asking me to add features and like...
Right.
...do all kinds of things. And I've been extremely surprised because, you know, I was worried about, it's a complicated product, like super complicated and I was worried about I'm going to build it and I don't know if I'm going to build it right, and I don't want to break stuff. So, I don't want to market it at all until I'm pretty confident.
And I still feel that way, but people just continuing to sign up, even though I'm kind of in a way, like trying to discourage them cause they give you like a five-day free trial, but you have to put your card in from the beginning, you know, things I wouldn't normally do. But like, even though I'm discouraging people from signing up a bit, they're still doing it.
And so I'm quite amazed with that. But the trouble has been, you know, now I'm responsible for helping people fix their code that's broken to deploy it. And so, now I have to go learn pretty quickly how someone else's app works, which is, in general, Rails is kind of standardized, but people customize, you know, all kinds of things.
And so, it's really forced me into doing a lot of support. But it also has the most potential. And it's also the lowest amount of churn as well. So if I deploy your app, chances are you're going to continue paying as long as you want that app running. So it's a good comparison to the, or a compliment to the screencast business, which has high churn. And sometimes struggles growing because churn is as high as growth is in screencasts sometimes. And that's just how that is.
Yeah.
So it's been really interesting to see that and have those together. And you know, both of those are subscriptions. And I was, at some point I was like just kind of curious about how is selling a one-off purchase, you know? And everything I was doing was not that.
So, I eventually stumbled into like I'm building all these apps, GoRails needs payments and teams and all these features and so does Hatchbox and other, like every other project that I've done for consulting kind of needs the same things. Why don't I just go write a Rails app that has all these features and ready to go from the very beginning and you can configure it and turn certain things on and off whenever? But I'll sell it for a one-time purchase.
And, boy that blew up too. And I was like, amazed with that. And what's interesting about that one is, it's partially the most fun to build, but also it is like the easiest out of all of them. Because it's like I can dive in, you know, once every quarter and fix a bunch of things and kind of batch my work on it, but it just keeps selling and I don't have to do a whole lot to it. Like both of those products have kind of blown my mind because I've realized they work now because people know me from the screencasts.
Right.
And maybe eventually, the idea would be to give all the screencasts away for free cause the people probably who can't afford them could use them the most would make the biggest difference in their lives. So, eventually if I can get the other products to a point where they can replace that revenue, then I would love to make GoRails free. And that would be especially unique because no one really talks about those intermediate and advanced things. And right now, they're behind a paywall. But if you made those free, that's going to be really unique to find for free.
So long-term, that would be pretty cool to do. But it has been interesting to now have a business that's a subscription with high churn and then one with low churn, but a lot of support and then a one-off sale that I can kind of like work when I went on it, but it just keeps selling. And the only downside with that one is that there's no recurring payments from people.
Right.
So, maybe I saturate the market at some point, but I don't know, maybe not. So, it's just been fun to have all that combination and see how they all work differently.
I mean really experimenting with the trade-offs of the different business models that you've picked. And what's cool about this, I wish people would think about this and advance is, a lot of this is kind of predictable, right? You can go on Indie Hackers and listen to someone talk about their business and you can see, for example, I interviewed the guys behind Honeybadger. And they also have a SaaS application that's kind of like this utility that runs in the background. Like you install it, you kind of set it and forget it.
And it's very mission critical. It's very important. Like if Honeybadger goes down like it's pretty stressful, but like the upside is because it's a utility it's super low churn. So when they add customers, they typically keep those customers for life, which is a really great way to start growing your revenue to something substantial.
You can kind of just look at that and say, "Okay, these are the trade-offs. Do I want to have a mission critical business where I have to do a lot of customer support, but my revenue can grow almost indefinitely because I have low churn? No, do I want to deal with a sort of weekly cadence of having to release a new screencast or a new podcast episode or a new newsletter like a lot of these businesses, but no, it's not mission critical. And if I miss, you know, nobody dies, there's no customer support." There's all these trade-offs.
And I think the other thing about it is, you're kind of illustrating what I think is one of the most important tools in any Indie Hackers playbook, which is the ability to sort of punch up, to take your successes in one area and parlay that and the kind of the next thin. Because like you didn't raise any money, you bootstrapped all of this from your own savings, from your own time. And that means that you probably can't start big. Like you could have just started with Hatchbox from day one and just acquire a bunch of customers through like advertising.
You had to start something really small, you know, you had to start like a blog, but you didn't stop there. You understood how to take your blog and parlay like that traffic into getting subscription revenue. And you took the trust that you got from, you know, your screencast and parlayed that into building the SaaS application.
And now like you're looking forward to the future. And maybe that means that your screencasts are just a hundred percent free. And you're making a lot of money from, you know, Hatchbox. And somebody who comes along and they're like, "Oh, I want to do what Chris does. You know he's got this really cool SaaS app Hatchbox." Maybe like, you know, five, ten years from now, they won't know that you started off so small, but that's really the kind of crucial skill. How does he take something small and successively get something bigger and bigger and bigger?
Yeah, I think I, this probably resonates with a lot of people who are Indie Hackers, but like, you know, at the beginning, you're like just struggling to find anything that works, that you can actually make money with. And you're not really choosing what kind of business you are building. You're just trying to find something, period.
Yeah.
And so for me, it was like,"Yeah, I'm going to get on the content." And actually, this is something I thought about when I started, which is why I did courses originally. I didn't want to get on the hamster wheel because I didn't know if I was going to stick around and continue doing it.
And so I did the course, which was a low effort kind of gamble, low risk. I'll put out the course, if it works, it does, if it doesn't whatever. But because I hadn't committed to anything, like it didn't work out. So by pivoting to like I'm committing to doing video every week publicly, now people are like, "Okay, this guy committed to that. Like, I'm happy to throw a few bucks his way."
And, that ended up being a hamster wheel that really, really burned me out for a long time. And I didn't really choose it cause I was just happy to have something that made money. And now, I have more choice and I've also looked at that business and tried to figure out how do I optimize it from, you know, what it is to something that is sustainable for me cause that was one of the things I remember hearing about Ryan Bates from RailsCasts.
He had mentioned somewhere that it takes him like 40 hours per screencast to make, which is a full-time job to make one video a week. And I didn't want to do that because I want to be building other things. And I realized that if I am building other things, that means as long as it's fresh on my mind, I can record a video on a topic in four hours and edit it and publish it and stuff. And really compress that work down from a week.
I can compress it down to a single day and then I have four days a week that I can do whatever I want. And there was a time where I was pretty burnout, but I had optimized it down and I realized I was actually doing the 4-hour workweek, but literally the 4-hour workweek where I made a full salary working about four hours a week where I'd record a video for a couple hours...
Crazy.
...edit, publish it, and email everyone. And that was it. And I was like, "This is amazing." But then I started getting antsy after a while where I had relaxed and recouped and, you know, got out of burnout and then I was itching to work on something else. And you just have to like, once you get something working, figure out, "Is this sustainable?" And if it's not, "How do I make it sustainable?"
And I didn't have to hire an editor or anything. I was able to do it myself, which kept it more profitable, which is good, especially in the early days. And, that I think is really important, like you get something working, but you got to figure out how to make it sustainable, otherwise it's just not going to work out for you long-term. You're going to burn out and that's not good.
Well, I think your story is pretty inspirational cause you've been a team of one. You've been incredibly productive. And somehow, despite being a team of one, you were able to work with this torrid 4-hour workweek. People listening in probably are very inspired by what you've been able to do. What would be your sort of number one tip, take away from your sort of story that you think people should walk away with?
Oh, boy. I really think like you gotta throw quite a bit of ideas at the wall at the beginning. But you gotta be public about it. Like go build your audience and talk about what you're building. There's a lot of people who are on Twitter documenting, they're like, "Here's my business. And now we're making $5 a month. And now we're at 500 and whatever." And those kind of things, sharing those metrics that like no one else is talking about, is that novelty that helps build your audience. And once you have the audience, like it's a lot easier to sell stuff to people and, you know, make a living. So, to me that was really valuable to go build the audience.
Daniel Vassallo on Twitter is one of the best at doing that. His Twitter course was pretty obvious when you look at how he tweets, but he's just sharing his progress all the time and people love that. I wish I had done more of that at the beginning. I think that would have accelerated things significantly, you know?
And it doesn't matter what you're building. You don't have to sell content or, you know, screencasts or courses or anything. If you're talking about building your SaaS product that could be for, you know, nurses or whatever, it's going to be interesting to nurses and they're going to find you because if you're not talking about it, you're going to have a pretty painful launch in the beginning.
Yeah.
So, that was the thing that I really undervalued. Collect your email list, talk to these people as much as you can just like learn about who they are and what they're doing. Like you don't need to ask them about, will they buy your product? How much would they pay for it? Like get to know these people because you want and understand all those nuances in their life and you might discover like, wow, we should just pivot to doing this thing cause I didn't.
Right.
No one could have told me that that was a problem, but I've seen it 35 times talking to these different people. And you know, I think that's where a lot of these unique things come from cause Jumpstart and Hatchbox and all these other products just came from, you know, talking to thousands of Rails developers over the years. And now it's very easy for me to see new ideas all the time cause I'm like, "Well, I've talked to several thousand people and I know them pretty well these days and I know what they struggle with."
Right.
And it's more obvious to me now to see what I struggle with. And especially if I struggle with something, I know I can make that into a product or whatever. So yeah, I think just become friends with these people. You don't have to like interview them or do anything fancy. You just want to get to know them.
Yeah. I love it. The Chris Oliver playbook, throw spaghetti at the wall, build in public, don't be afraid to show off what you're doing even if it's not going well, get these people onto a mailing list, and then talk to them in a casual way and you'll get all sorts of ideas.
Yeah. I think it's just, it seems a little obvious, like there's no strategic framework to it or whatever. But I think it just works and get to know people. And at the end of the day, that's what people want to buy from. They want to buy from companies that are just humans behind it. I think that was one of the things that I loved the most about GitHub in the early days. It was like, I knew every single employee of GitHub by name, just because they're public. And I didn't know them, I've never met them, but I knew exactly who they were and they just talking about what they were doing. And I was so inspired by that watching them build it. Now is like, yeah, I think the human connection gets lost so much in building businesses. And I guess I get that for free, you know, doing screencasts.
Everybody sees my face in the videos and here's my voice and actually going to the Ruby on Rails conference. For the first time I went a couple of years ago and every time I sat down at a lunch table with strangers, they were like,"I heard your voice in the office last week." And I'm like, this is the weirdest thing.
That's so cool.
So yeah, it was pretty fun, but it really pointed out to me and emphasized that like human portion of this makes such a big difference. So yeah, I would just say that is really undervalued and it seems too simple to work, but it does.
Yeah. I talked to a lot of developers who listened to the podcast and I'm like, you know, Courtland, talk more about SaaS apps. I just want to write some code and put it out there. I don't want to hear about people building audiences or writing mailing lists or doing the grind. And it's like, you know, it's just really hard to have one of these faceless, nameless, and human businesses that work. It's really, really hard to do that.
Like you said, people want to buy from people. People want to know a story. And I think if your dream really is to build one of these SaaS applications, like you still have to do that storytelling, you still have to be an actual face and a personality if you want to get there in any reasonable timeframe.
Yup.
Anyway, Chris, thanks a ton for your insights and sharing your story. Can you let listeners know where they can go to find you online?
Yeah, you can find me on Twitter, @excid3. Excid3 is my username basically everywhere. So you can find me there or just go to gorails.com. That's where pretty much everything centers around for me. So, yeah, thanks for having me on.
Listeners, if you enjoyed this episode and you want an easy way to support the podcast, you should leave a review for us on iTunes or Apple podcasts. Probably the fastest way to get there if you're on a Mac is to visit IndieHackers.com/reviews. I really appreciate your support and I read pretty much all the reviews you leave over there.
Thank you so much for listening and as always, I will see you next time.
Did you know Indie Hackers has a newsletter?
Sign up to get insights, takeaways, and exclusive content from each new episode, directly from the host, Courtland Allen.
This podcast felt almost as if it were just for me! The author of the IH interview I found so useful a couple years ago, Groupon and games... this one had it all!
On thing that was interesting at Groupon, other than the technical challenges, was the high variance in how good of a deal our product was for different merchants. For something like a restaurant, Groupon was hard to get value from, but for a spa, the average value was immense!
There were some interesting ideas around ways we could have dynamically shown offers to just the customer likely to make them a win for the merchant and only shown the "cheapskate" customers the deals that would always be a win for a merchant. An example of that would be a AAA ball game where 90% of the seats were unsold. Even selling them at a considerable discount would be a win. That was 7 years ago, though. I have no idea what they're working on these days.
@excid3: I suspect that for GoRails, YouTube itself is your lowest hanging fruit for growth. It's really hard to say how that would rank against just making more courses, though. I barely ever use Rails and I still just picked up your SCA course for the higher level ideas (much like I subscribe to Laracasts for the same).
In the episode @csallen mentions css games and how his brother made a cool one for flex box. At https://mastery.games/ there is also a free flexbox game which is great and a paid css grid on that I haven't tried yet. I think they have a couple of other games available for web dev tasks. Its worth checking out!
Yeah, I was going to mention that, too. I learned CSS grid from playing Grid Critters and it was totally worth it. It was one of the inspirations I named in my newest project (see my currently pinned tweet), which also involves teaching through building games.
I think Dave is in the process of updating Flexbox Zombies and bringing it up to the production values of Grid Critter right now.
Excellent, thanks! I love the dates on the site's footer:
© 2016-2924 Dave Geddes