Rails and Revenue: How to Build a Screencast Business

Hello! What's your background, and what are you working on?

My name is Chris Oliver, and I'm a software developer in St. Louis, Missouri. I've been working on GoRails — an education site for Ruby on Rails developers — for four years.

Today, GoRails makes about $15,000/mo.

GoRails homepage

What motivated you to get started with GoRails?

Before 2014, I was working as a Ruby on Rails consultant for many businesses and startups. I'd gotten tired of trading my time for money and decided to take a domain (gorails.com) I had been using to document my Rails practices and turn it into a product.

Originally, I documented things like how to setup Rails on a Mac and how to deploy Rails to Ubuntu on GoRails.com. These were just notes for myself that I would keep updated and quickly other people started to reference them. This generated several thousand visitors in the first month, and I realized I had and audience there that I could work with and sell products to.

What went into building the initial product?

My first iteration was to build courses for the Rails developers visiting GoRails. It made sense to me, and I set out to record two initial courses. What I didn't realize was just how hard screencasting would be.

It took me five months to plan, record, edit, and complete the first two courses. This took way more time than I expected because I just wasn't very comfortable recording screencasts. My daily routine was to record 15 minutes of video a day whether or not I threw away the recording later. I just needed the practice to create content I was happy with.

On the sales side of things, GoRails.com was already live as a Rails app with a few static pages for the tutorials I had previously published. To sell the courses, I built out payments with Stripe and the course functionality to watch videos using Wistia, track your progress, etc. That didn't take very long since I had built similar things before.

My daily routine was to record 15 minutes of video a day whether or not I threw away the recording later. I just needed the practice.


Initially, I launched these two courses and got about one sale a week. After two months and only nine sales, I realized they were going to require a lot of marketing to make them viable for me to continue. Instead, I decided to pivot to offering the videos as weekly screencasts. Railscasts had become defunct a couple years before and left a huge missing gap in the Rails community so I figured that would be an easier way for me to market my videos. The second day after pivoting I got 14 new subscribers and I knew then that I was much more on the right track.

GoRails features

How have you attracted users and grown GoRails?

Since I had been publishing content to GoRails for a year before I launched the paid courses, I had the advantage of all the SEO and visitors I had built that year. During that time, I was collecting email addresses of people interested in learning more about Rails. This gave me an audience I could launch to from day one, which was incredibly important to give me some confidence as I launched.

After getting some initial traction, I had to come up with a way of marketing my screencasts. The way I solved this was by pivoting to weekly screencasts and releasing a free one every other week. This let me share quite a lot of content on places like Reddit, Rubyflow, and to my email list. I knew those users would check out the other episodes I offered and hopefully subscribe to the paid content eventually.

I would say the majority of growth of GoRails has just been from this free content. If I cover a popular topic, it often gets shared, and if I cover a library, the authors love to share the videos as well to get more usage of their own work. I'm uploading the free content to YouTube which not only gets me an audience there but also saves me from some very high video hosting costs that I would incur if all the free content was hosted on Wistia. It makes for a nice way of building the community and the customer base at the same time.

Since I had been publishing content to GoRails for a year before I launched the paid courses, I had the advantage of all the SEO and visitors I had built that year.


Another important feature I built was a forum for subscribers to ask questions. I've since opened this up to the public, but originally it was only for paid subscribers to keep the quality of questions high at the beginning. I wanted to offer Rails developers a place to ask architecture questions or questions they couldn't get good answers to on StackOverflow. This gave me a way to publicly answer questions (instead of over email) which not only helped the person asking the question, but also anyone who might stumble across the thread via Google.

I've spent hundreds and hundreds of hours answering Rails questions on the forum, email, Twitter, and on StackOverflow. I'm not doing this to push people to GoRails, but just help out — and if people find my answers helpful, they're probably going to check out what I'm working on and end up on GoRails at some point.

What's your business model, and how have you grown your revenue?

Primarily, GoRails makes money through subscriptions. I offer individual and team plans and discounts for yearly subscribers. When I started GoRails, I just copied the Railscast pricing of $9/mo and quickly realized how much work it was to earn another $100/mo. It takes a lot of volume to make a living at that price point. Since then, I've raised the price to $19/mo which makes for a much more sustainable business.

Initially, I only accepted credit card payments with Stripe, but I've since added PayPal support which has grown to be close to a third of my revenue. There are a lot of customers worldwide that don't have credit cards to pay, and I was previously just ignoring them. While PayPal gets a lot of hate, it really opens up your potential market of customers if you have a product with international appeal.

Growth has been very steady the entire lifetime of GoRails. The one exception to that was when I decided to raise the price from $9/mo to $19/mo. I made the announcement of the price change during Black Friday and told anyone their "discount" was to buy now and lock in the $9/mo pricing forever. After that, they'd have to pay the new $19/mo price. I about doubled revenue that month from people locking in the old pricing.

GoRails pricing

Today, GoRails makes about $15,000/mo between Stripe and PayPal subscriptions. My only expenses are:

  1. Wistia (video hosting) - $300/mo
  2. Profitwell (retain churning customers) - $100/mo
  3. Mailjet (email provider) - $10/mo

I also use DigitalOcean for hosting, but this ends up being free from the referral links I have shared in the GoRails tutorials.

What are your goals for the future?

My future goals are actually around launching new products. I've already launched one called Hatchbox.io that is a way for Rails developers to deploy Rails to their own servers extremely easily. It's a great way to save money compared to something like Heroku, and it's a great upsell to any GoRails customers.

I'd also like to try changing a few things on GoRails. With the volume of content a weekly screencast produces, customers often get overwhelmed. There are generally two buckets of customers I've found: people who want to continually learn and people who are looking for an answer to an immediate problem. The monthly subscription business model doesn't really fit both customer types, and I'd like to explore some other business models to see if they work any better. That might be selling courses alongside weekly screencasts, mentorship, etc. I'm basically going to spend each quarter this year trying a new idea and seeing how it plays out. I'd love to better serve both groups of customers.

What are the biggest challenges you've faced and obstacles you've overcome? If you had to start over, what would you do differently?

In the first year, my biggest challenge was paying rent. By August, I had launched the monthly subscriptions and was making $450/mo. That wasn't a bad start, but it certainly didn't make up for the past eight months with virtually zero income. I ended up getting a job for a year and continued to make screencasts on the side.

After that year, GoRails was making about $3,500/mo which was much closer to a livable income. Since I live in St. Louis, MO, my living expenses were quite low, and I was able to go back to working on GoRails full time the following year.

Now that GoRails is more established, churn is the major challenge. Rails isn't the hot new framework anymore, which makes sign ups significantly slower than if I had a focus on React, Vue.js, etc. Also, education businesses in general have to deal with a lot of churn. In a way, you can compare us to gym memberships. You pay to get access to things, but you've still got to do the hard work yourself whether it's working out or solving problems in code.

Have you found anything particularly helpful or advantageous?

One of the most important things for me was to learn about the Jobs To Be Done framework. It's a really fantastic perspective that gets you into your customers shoes and thinking from their point of view to figure out what you should be doing. If you're interested in this, check out the book Competing Against Luck by Clayton Christensen.

Another habit I've developed over the years is watching how other businesses operate. I subscribe to several mailing lists, like Ramit Sethi's, simply to watch the content and learn how his style of email marketing turns into millions of dollars in revenue for them. I also spend a lot of time looking at other businesses like Twitch and YouTube and seeing how their top content producers are making things work. Watching your competition won't give you many creative ideas that give you an advantage, but successful businesses in a tangentially related space can.

What's your advice for indie hackers who are just starting out?

It should be obvious, but you should spend more time getting to know your customers than you think. Learn about their goals and what they're trying to accomplish with their businesses and you'll immediately start seeing opportunities for you to improve your products to help them achieve their goals.

The other thing I want to mention is patience. It's going to take more time than you think it will, especially if this is your first business.

A lot of people wonder what it really means to have "product market fit". This term is really vague and hard to describe. What I would say is look at the small pivot I made between selling courses and weekly screencasts. I went from something I was trying to push (courses) to getting 10 subscribers the first day and a bunch of requests for episodes.

The difference? I didn't change the content I was making, I just changed the packaging. When your customers are clamoring for more and dragging you forward, that's when you know you're starting to get more product market fit. Keep changing things until you find one of those moments.

Where can we go to learn more?

You can check out GoRails at gorails.com, and for easy self-hosting of Rails apps, check out hatchbox.io.

If you'd like to keep up with I'm working on, you can follow me on Twitter.

I'm happy to answer any questions you guys have in the comments below! Thanks for having me on Indie Hackers!

Chris Oliver , Founder of GoRails

Want to build your own business like GoRails?

You should join the Indie Hackers community! 🤗

We're a few thousand founders helping each other build profitable businesses and side projects. Come share what you're working on and get feedback from your peers.

Not ready to get started on your product yet? No problem. The community is a great place to meet people, learn, and get your feet wet. Feel free to just browse!

Courtland Allen , Indie Hackers founder

Loading comments...