How This Midwestern Coder Overcame Self-Doubt to Earn Over $1.8 Million Continuing a Community Legacy

Chris Oliver is a coder’s coder. Affable, smart, yet unassuming, Chris has been writing code since the 7th grade. Today, he runs GoRails, a Ruby on Rails education platform that he started from his basement. In just eight years and without any investment, GoRails has grown to $600,000 ARR – a testament to Chris’s deep programming knowledge and teaching skills.  

But it’s been a tough hike over unfamiliar terrain. From overcoming shyness in front of the camera to Rails ceding popularity to Javascript, Chris has spent almost a decade toiling to make GoRails succeed, usually while holding down a full-time job. Today, Chris teaches over 50,000 students across 450 lessons and 120 hours of content, and has earned $1.8 million since 2013. 

“When you’re programming, it’s all in your own head,” Chris said. “You’re never talking out loud and explaining, so recording videos turned out to be extremely hard for me. But I forced myself to do it every day for nine months. When you do something that long, your confidence increases and you get better at it, and it meant I had a ton of content to share, too.”

Standing on the Shoulders of Giants

GoRails emerged from the educational void left by Ryan Bates, the founder of RailsCasts, an engineer who’d begun screencasting Rails tutorials in 2007. Like thousands of other developers who relied on Ryan’s lessons, Chris was dismayed when the engineer quit in 2013. “I watched every single video and would still be subscribed today. The whole community missed them.”

At the time, Chris was also in a bit of a funk, jaded from years consulting on big projects that seldom saw the light of day. “A client might spend a hundred grand on a project and never really use it. I remember thinking, why am I doing all this work for it to be thrown away? It wasn’t about the money or anything. I just wanted to do work that mattered.” It was time for a change. 

Chris wondered if he could pick up the mantle left by his predecessor, Ryan Bates. It was a gamble: he’d need to give up his job and sacrifice his life savings if he were to make it a success. That gave him a nine-month runway in which to prove GoRails was viable. After that, however, the money would run out and he’d need to find another job to make ends meet. 

“I used up all my savings to start GoRails because I knew I had to work on it full-time,” Chris said. “I quit consulting with nine months on the clock. Unfortunately, it didn’t work out that first year. In the end, I had to get a job because I ran out of money. I got to about $500 MRR, which isn’t bad, but it didn’t pay the bills. I was onto something, but it wasn’t quite there yet.”

Could a Programmer Also Be a Marketer?

Chris has spent a lifetime on computers. From tinkering with his dad’s old DOS machine to later graduating in Computer Science, Chris has long enjoyed learning how machines think. He even built a DOS game using nothing but a dusty old Atari manual. “The languages were similar so I managed to write this long hangman program that could only support three-letter words.”

But how could Chris capitalize on this lifetime of programming knowledge? It wasn’t enough to create content, he’d also have to overcome his prejudices against sales and marketing. While working at a Y-Combinator startup to make ends meet during GoRails’ first year, a colleague dispelled the myth of sales being all dodgy deals and greasy smiles. 

“I remember talking to a friend at the company who said, ‘If you can help someone, it’s in your best interests to help them. That’s all you’re doing as a salesperson. And if you’re not the right fit that’s okay. You just tell them that and send them in the right direction.’ And I was like, oh, okay, that’s so obvious now. I wish I’d realized that earlier.”

Ramit Sethi’s I Will Teach You to Be Rich newsletter also convinced Chris of the power of good copywriting. “Ramit’s newsletters are stories that turn into a sales pitch,” Chris said. “I did the same thing for the GoRails newsletter. I write about common Rails problems and offer lessons that teach solutions. It’s basically a drip-fed, automated sales pitch that runs by itself.”

How This Midwestern Coder Overcame Self-Doubt to Earn Over $1.8 Million Continuing a Community Legacy
GoRails HQ: Where the magic happens.

Building the Confidence to Charge the Right Price 

Self-doubt put the brakes on momentum, Chris confesses: “I was a bit of a perfectionist. I didn’t like the sound of my voice. I didn’t know how to edit, add captions, and all that stuff. I made 15 videos originally which I turned into a course. But I only sold two a month, which was worth about $80. I couldn’t live on that.” Chris needed to charge his worth – but what was that?

Chris looked to his predecessor at RailsCasts, who had charged a monthly subscription, for inspiration. “RailCasts cost $9 per month. Developers don’t spend a lot on education so there was a natural cap anyway, but I thought if people paid $9 for RailCasts they’d at least pay that for GoRails. Back then, I didn’t believe my videos were good enough for more.”

Despite Chris’s misgivings, once Google began indexing his content, traffic jumped. He also published free videos to build trust with the community which he then shared on Reddit and other Rails forums. Soon, GoRails was the #1 story in Hacker News, proving demand. But even with a flutter of new subscribers, Chris realized he’d made a mistake on pricing. 

“Charging $9 meant earning around $500 per month. It wasn’t until late 2015, after a year of working on GoRails in my spare time, that I got enough subscribers to earn $3,500 per month. I couldn’t survive on that in New York City, where I’d moved to work at the Y-Combinator startup, but I could back home. So I left the job and moved back to St. Louis.”

The Black Friday That Changed Everything

With Chris back in Missouri, he’d bought himself time. But the price had to change – and soon. The bigger GoRails grew, the harder it would be to justify an increase to his customers. How could he double the subscription fee without losing those whom he’d worked so hard to acquire? The answer was a “sale-of-the-century” that changed GoRails’s fortunes forever. 

“I created a Black Friday sale,” Chris said. “I told visitors to the site this was their last chance to get GoRails for $9 a month because after Black Friday it would be $19 a month. The response was phenomenal. Many of the subscribers are still here today because they know they wouldn’t get that pricing if they canceled and re-subscribed later. It was definitely a turning point for me.”

With Chris then earning the equivalent of a junior developer’s salary, the pressure was gone. GoRails was a success. Now it was down to Chris to shape that success. “I spent half a day a week creating a new video and the rest of the time was my own,” Chris said. “It was literally the four-hour workweek. I then started wondering how else I could help my customers.” 

The Black Friday sale freed Chris to build products that complemented GoRails, that helped his students launch their own Rails apps. “My deployment tutorial was hugely popular. One of my friends said, why don’t you automate that? Hosting Rails apps on your own server is tricky and very hard to update, so I built something called Hatchbox.io that did it all for you.”

Chris regularly spots gaps in the market just by monitoring tutorial traffic and listening to customers. His third product, JumpStart Pro, a SaaS template, combined common SaaS functions to save developers hours building everything from scratch. “Almost all SaaS needs billing, 2FA, user accounts, and so on, so I built a template with it all ready to go.”

What Chris Misses as a Bootstrapped Founder

One of the best things about entrepreneurship, Chris argues, is the freedom to build what you want. For Chris, it was important to give back to a community that had taught him so much in his earlier years. And what better way than to help over 50,000 students code? No role at Apple or Google, no matter how senior, would’ve had the same impact on the Rails community. 

How This Midwestern Coder Overcame Self-Doubt to Earn Over $1.8 Million Continuing a Community Legacy
Chris regularly attends dev conferences to promote GoRails and give away a little swag.

Going it alone, however, does have some drawbacks. Although Chris has never considered raising funding, he’s attracted to the idea of mentorship and the time it could’ve saved him. “If you don’t have mentors,” Chris said, “you have to learn things the hard way when you could’ve gotten some good advice from someone who’s been in your shoes before.”

That said, Chris is hopeful of scaling GoRails to a $5 million company. And although he’s lacked the support of co-founders or mentors, he’s conquered crippling self-doubt to emerge as one of the most popular Rails screencasters in the world. The key, Chris argues, is to stay focused on what matters – those customers that find value in what you do, not how you do it. 

“People either wanted to learn or wanted to criticize,” Chris said. “At $9 per month, I got a lot of casual users who weren’t really active Rails developers. When I started charging $19, these people got filtered out and I could spend more time on those who wanted my help. If I’d priced better at the beginning and spoke to more people, I might’ve grown a lot faster.” 

As a solo founder, it’s easy to fall into a pit of self-criticism and never claw your way out. Who else do you complain to other than yourself? And while doubts plague even the best of us, Chris has proven what’s possible when you have the courage and perseverance to pursue your goals. 


Want to share your bootstrapping story with the world? Enter your details in this Typeform and we’ll be in touch.

Stay in the Loop

Get our weekly newsletter wrap-up with all the latest news in the Bootstrappers community.

Latest stories

You might also like...