Chris Oliver quit freelancing cold turkey to focus on building products. He started with a free Ruby-on-Rails course for beginners 11 years ago. Now, GoRails and his portfolio of related products — both courses and SaaS products — are bringing in seven figures per year.
Here's Chris on how he did it. 👇
I started teaching myself to code around 7th grade with my dad's Atari Basic programming book. That led me into programming my TI calculator in high school to make my math homework go faster. Eventually, because I had dial-up at my parents' house, I got into building an open-source app that I called Keryx, which downloaded software for Linux.
That app got featured in Linux Journal magazine and also got me a Google Summer of Code internship in college. During school, I learned about YCombinator and realized that the intersection of business and software was what really interested me.
Keryx was really influential for me. After sharing it on the Ubuntu forums, I started getting messages from people around the world saying thanks. One person used it to set up a computer lab at a school in Africa that didn't have reliable internet or power. Another person used it to set up a super secure, air-gapped server for the government.
That made me realize how powerful the skill of programming was. I could change people's lives around the world. People I had never even met. I felt like I was doing valuable, fulfilling work.
I was freelancing for a few years and kept seeing my hard work go to waste. Clients would pay $50k+ to build an app and then give up on it a few months later when they realized marketing and getting users was harder than they thought.
I met a friend at a coworking space and helped him build a side project for his mobile app business — it was a little app to help founders get reviews for their iOS apps. I remember walking into a movie theater and seeing a notification that we just made $25, just as I was shutting my phone off.
That was the first time I ever made money without trading my time, and I was hooked.
Getting started was hard. I have a tendency to be risk averse, so I'd find myself doing more consulting projects instead of forcing myself to build. Eventually, I decided to quit consulting cold turkey and live off my savings.
I had already bought the domain and published some written tutorials, and they started to get traffic after they were shared on StackOverflow, so this gave me some hope that I might be able to sell a course to visitors. I published a free course on Rails basics and a $39 course on Rails for freelancers.
It took me four or five months to make those two video courses. I just couldn't explain what I was doing because I was used to programming quietly with headphones on and never talking out loud. And honestly, I couldn't stand listening to my voice as I edited the videos. So those first few months were like nails on a chalkboard. I forced myself to record 15 minutes a day — and delete it until I had something I felt okay selling.
Nine months in, I ended up running low on cash, and I was only selling 2 copies of my course per month. Nobody knew who I was or trusted me enough to spend $39 on a course. I realized then that I had to spend a lot more time on marketing, rather than the product. It's the typical trap you run into, especially if you're a developer-founder like I was.
I decided to pivot and release free content to hopefully build that trust with the audience.
I finally started to have some traction, right as I was starting to look for a job. One day, I'm interviewing with a YCombinator startup called OneMonth.com, and I wake up to 600 emails in my inbox from Mailchimp telling me I have a new email subscriber. Turns out, someone submitted GoRails to Hacker News, and we sat at #2 the whole night.
I got the job and kept building GoRails on the side. After a year, GoRails had grown enough to work on it full-time even though it was roughly minimum wage.
Today, I'm building a bunch of products under my business, GoRails, and we've reached a 7-figure ARR as a two-person team.
GoRails is an education site for Ruby on Rails developers, where we teach how to build apps and how to think about solving problems with the framework. This led into Hatchbox.io, which is a service for hosting Ruby on Rails applications on your own servers.
After building several products and implementing payments, team accounts, and other features slightly differently, I realized I should build a template I could use to build my own products faster and more consistently. This became JumpstartRails.com, which now powers our applications and thousands of apps for our customers. We also occasionally do one-off, deep-dive courses like LearnHotwire.com that we launched earlier this year.
This gives us a nice mix of products that all serve the same customers. The products also help us diversify so that the business is stable if one project doesn't work out or things change.
We primarily have subscriptions, although we do sell a few one-time purchase products like LearnHotwire.com and other courses.
Education was already a tough industry — churn is high and you have to keep prices low.
But now, my biggest challenge is AI. People aren't watching or reading tutorials as much anymore; AI can do things directly against their codebases.
The business model for education is going to have to change since AI consumes all the content without making it financially sustainable to create content for a living.
Of course, my tech stack is Ruby on Rails! It's the framework that's built incredible companies like Shopify, GitHub, Airbnb, Instacart, etc., and yet it also works perfectly for a one-person business.
I use the full Rails stack with Hotwire on the frontend. What's great is that everything we do revolves around Ruby on Rails, so building features for our products means I can also teach them in GoRails lessons and add them to Jumpstart apps for our customers.
It's a win-win.
It took me a long time to figure out how to do "marketing." Since I'm a developer building products for developers, the most useful thing I've done to grow the business is just being involved in the community and teaching.
We have a Discord server of almost 7,000 developers discussing how to build apps with Ruby on Rails. I speak at conferences. I participate on Reddit, X, LinkedIn, and lots of other places online.
I just try to be around, helping people and building trust.
I also spend a lot of time using open source as marketing. I'll test new features of Rails, fix them, and teach people how I found the issue and made a solution. Some of our non-core features, we'll extract as open-source packages for the Rails community to enjoy.
All of these are things I am doing naturally day-to-day, but they can double as marketing because they're building trust and helping the community.
Otherwise, we also offer Black Friday discounts. This is the one time a year that we see a big spike in revenue, and it's just our way to give back to the community. Their investment in us means we can continue building and improving software for the community.
If you're trying to build a product that makes money, you need to actually test if people are willing to pay for it.
For Hatchbox, I launched the first version with a free trial that was a bit too generous. I was also spending a ton of time doing support for users who would never convert to paid. So I decided I would reduce the trial to five days to really encourage people to use it when they sign up. And I required a credit card up front.
This narrowed down new users to exactly the users I wanted to talk to: serious users and ones willing to pay. This helped me focus on what mattered.
Go talk to people and see what you can help with.
I'd treat it like consulting. Then, hopefully, you find a problem that multiple people have and build a product out of it.
You can also do this for your own problems.
To bring the story full circle, I just acquired the assets of that YC startup I worked for — One Month.
Since the hype of coding bootcamps died down, One Month never really quite hit the runaway success their investors were looking for. It was a good lifestyle business and kept running for quite a few years after I stopped working there. But, at the beginning of 2025, the CEO emailed me and said he had decided to shut the business down and move on to something new.
He asked if I was interested in buying their assets since our businesses were similar and maybe GoRails could benefit from the domains and traffic. I was immediately interested and happy to give One Month a good home, so we worked out a purchase agreement and I'm now the owner of One Month!
It's a really great brand, and I think it could be expanded from coding to literally any topic, like Udemy or Skillshare has done.
With AI changing education and development, I imagine we'll have to adapt quite a bit going forward. My goal for the business is to keep it small and profitable, but I also don't want everything to depend on me forever
In the early days, I just wanted to make a normal salary, which I eventually surpassed. Having my first son, I realized I need more time with my family, so I either need to shut down or sell some products — both of which would disappoint customers — or grow the team. This has been good, but also a massive challenge.
You can follow me on X and LinkedIn, or check out my personal website. And you can check out my products:
Leave a Comment
Excellent story. I'd be curious to learn what business model ends up clicking for you next if education subscriptions stop working.
Featuring growth, strategy, and entrepreneurial insights, James Fleischmann shares his experience learning Ruby on Rails through free courses to building a successful ecosystem that generates a 7-figure ARR.
Really enjoyed reading this article. Chris is an inspiration to so many, with the amount he has helped others in the rails community. I have watched so many of Chris's tutorials to learn Rails. And I still am a customer today, using Jumpstart and Hatchbox to try to launch my own SaaS.
Love the story!
Love seeing stories like this building in public, staying small, and staying focused. Chris is a great example of how helping others and staying consistent can lead to real, sustainable success. Inspiring and practical.
Really inspiring story. I like how Chris focused on building instead of freelancing and managed to grow something sustainable. The part about making money while at the movies really shows the power of passive income.
An inspiring story of a man who went from a passion for programming to creating a real business with sustainable growth.
There's so much to see: how a passion can turn into a commercially successful business—it's so cool.
In addition to sparking skills, innovation, and community growth, a free Ruby-on-Rails course can also help grow a 7-figure ARR ecosystem through consistency, value creation, and strategic scaling.
Amazing!
Amazing story — really shows how consulting skills can turn into scalable Rails products. I run a small Rails resource site (rorwizards.org) where we share tutorials and deployment tips for Rails devs — figured some folks here might find it useful. Congrats on the One Month acquisition!
Loved this arc; free Rails course → trust → community → product ecosystem is such a clean ladder. Turning teaching into a distribution engine, then layering paid cohorts, templates/tools, and maybe a job board or hosting-style add-ons is how you get from “content” to a real business.
Two things I’m curious about:
Which product ended up driving the most actual ARR; cohort seats, subscriptions, or the “tools/templates” lane?
What’s the single activation that best predicts long-term value; finishing the free course, joining the community, or shipping a first app?
P.S. I’m with Buzz, we build conversion-focused Webflow sites and pragmatic SEO for course + product ecosystems. Happy to share a tight 10-point GTM checklist if useful.
What a fantastic journey, Chris! Your story really resonates with me - especially the part about forcing yourself to record 15 minutes a day despite hating your own voice. I went through the exact same struggle when I started creating content for developers. The breakthrough moment you described with that Hacker News spike must have been incredible validation after months of uncertainty.
I'm particularly impressed by how you built an ecosystem where each product feeds into the others - GoRails teaching the concepts, Hatchbox providing the hosting, and JumpstartRails giving developers the foundation. That's brilliant product strategy that creates real customer value while building a sustainable business.
Your point about AI changing education is spot on. I've been thinking about this challenge too - how do we adapt when AI can generate code directly? Your focus on teaching problem-solving approaches rather than just syntax seems like the right direction. Thanks for sharing such an honest and inspiring story!
proof that starting small, helping users, and iterating pays off big.
For someone looking for an alternative to JumpstartRails in Node.js and JavaScript ecosystem, you have Next.js Boilerplate SaaS
Everything you need to start a project with Authentication, Payment, Multi-tenancy, Roles & permissions, i18n and more build with Tailwind CSS, TypeScript, Next.js, React
Nice article James and Chris - It's so true that building the product is only the first step. Marketing and growing the business is much harder.
Chris Oliver's experience has given me great inspiration. I am currently developing some WEB applications.
This is smart, " I forced myself to record 15 minutes a day ". You had the discipline to do something you hated (yet necessary) but you limited it to 15 minutes a day. Smaller bites of time dedicated to an unpleasant activity add up quickly. And your sanity was saved. Congrats!