This founder blogged about his struggles learning a coding framework, and visitors poured into his site. So he published a profitable book on the topic.
My name's Jason Swett. I'm a web developer from Sand Lake, Michigan. I created Angular on Rails, a website that helps Ruby on Rails developers learn Angular.
The main thing I sell at Angular on Rails is an e-book called Angular for Rails Developers.
Angular on Rails first started making money in September 2016. Since that time the monthly revenue has varied from as little as $371 to as much as $1,580. The average between September 2016 and the end of April 2017 has been about $745/mo. April 2017's revenue was $735.
Angular on Rails is my seventh attempt at building a product business. Long story short, I'd gone through 6 failed product businesses between 2008 and 2015, and in early 2016 I realized that a technical blog I ran could be turned into a business.
AngularOnRails.com came into existence because, as a Rails developer, I found it tricky to get Angular and Rails to talk to each other, and I didn't find any great help online. I wrote a few blog posts about it, and to my surprise, those few blog posts got me about 5,000 visits a month for many months. I actually started AngularOnRails.com in 2014, well before making any serious attempts to monetize the site.
After I put a bullet in my previous business attempt in late 2015, I went to MicroConf in April 2016 to try to get help coming up with my next business idea. Some people suggested to me that I sell courses at AngularOnRails.com. I thought this was a good idea. I ended up selling an e-book instead of courses, but the idea was similar.
I'd spent 5 years on my previous business, which never made more than $430/mo, and I was very wary of the idea of putting in more fruitless effort. A friend of mine at MicroConf suggested I do a presale. That sounded like a good idea, so that's what I did.
Luckily, I'd already had the idea of writing an e-book long beforehand, and I was even collecting email addresses to let people know when it launched. I just didn't know until MicroConf 2016 how to make sure people would buy the book before I expended the effort in writing the book.
My decision to write the e-book coincided with the release of Angular 2 beta, meaning very little of my Angular 1.x knowledge was going to carry over. I basically taught myself Angular 2 as I went through the process of writing the book.
I decided to make the initial version of the book really small to avoid wasting effort. I believe the first version came in under 50 pages. Even though it was so small, I was surprised by how little time it took me to write the book. It took less than two months, and that was on top of doing freelance work and still spending a reasonable amount of time with my family.
My "secret", if there was one, was to just put in at least one hour a day on the book, usually the first hour of the workday.
I wrote the first version of my book in Markdown. Later I ported it to Michael Hartl's Softcover, which I've been very happy with.
I lauched by doing a presale to my list of about 300 subscribers. I was completely prepared to make $0 in sales. To my delight, seven people pre-ordered the book. This obviously isn't a big number, but it was enough to tell me that writing the book wouldn't be a waste of time.
Then, on August 30th, 2016, I released the finished book to 566 subscribers. I sold $868 worth of the book in the final days of August, then I did $1,053 in sales in September. In October I released a $199 video package (sold for a special launch price of $99) and made $1,580 that month.
I consider my email list the backbone of the business. I grew it by writing blog posts about very specific Angular/Rails issues I knew people were googling about, and then offering a lead magnet on my site: a free guide to getting started with Angular and Rails.
My traffic strategy is really very simple. I've found that the more blog posts I write, the more traffic I get. I post links to my posts on Reddit and Hacker News, but tweeting doesn't seem to have any meaningful effect. Maybe someday I'll get more sophisticated with my traffic strategy, but as long as writing continues to work, I don't see any reason to make it more complicated than that.
My advice to people trying to build SEO traffic is this: Don't try to rank above competing blog posts. Find things to write about that are so narrow that your blog post is the only one that exists. For example, I wrote a blog post about deploying an Angular/Rails application to Heroku. If you google "angular rails heroku", my posts occupy the first and second spots, and then as far as I can tell the results below that aren't even really relevant.
The same idea applies to writing a book. There's no way I could have written the world's most popular Rails book or the world's most popular Angular book. But writing the world's most popular Angular/Rails book is a more realistic goal. I only know of two Angular/Rails books in existence, so worst case scenario my book is the world's second most popular Angular/Rails book.
I could probably write ten more successful books by choosing topics like React + Rails, Angular + Python, React + Python, etc. The trick is to choose a topic that's narrow but still popular. It would probably be hard to make money off of a book about, say, using CoffeeScript with ASP Classic.
As of April 2017, I get about 8,000 visitors a month.
The business model is very simple: I sell a $49 e-book, a $99 video package, and a $249+ corporate package. So far, no one has bought the corporate package.
My email list was definitely the driver of the early sales. I can't see how I would have gotten anybody to notice my presale launch or my "real" launch without having an email list to launch to. Like I said earlier, 7 people pre-ordered the book in June 2016, and then I sold about $900 worth of copies when it launched for real in late August 2016.
I first launched my video package in October 2016 — my best month so far. I was also featured on a Ruby Rogues episode around that time so I can't be sure whether to attribute those good months to the launches or to the traffic spike from the podcast appearance.
I used Gumroad for payments between June 2016 and November 2016, but then I switched to using a WordPress plugin called Easy Digital Downloads so I could put tighter metrics on my conversions. I know today that my sales page to checkout conversion rate is 12.15%, and my checkout page to purchase conversion is 36.36%. I don't know how I would have been able to know that with Gumroad, nor would I have had much power to influence those conversion rates in Gumroad, because I can't control Gumroad's payment UIs.
I'm actually really embarrassed by how crappy my checkout page looks, but the conversion rate is within the acceptable range so I don't care about that for right now. I have Easy Digital Downloads hooked up to Stripe, which is hooked up to Drip, so every purchaser gets added to my email list.
Here's my revenue for every month Angular on Rails has made money:
Month | MRR |
Aug | 868 |
Sep | 1053 |
Oct | 1580 |
Nov | 871 |
Dec | 428 |
Jan | 371 |
Feb | 449 |
Mar | 352 |
Apr | 735 |
You can see a spike in the fall of 2016, then a slump from December to March. I only know one thing for sure about the cause for the slump: I had an opt-in form on every page of the site, but then for some dumb reason I took it off. Sales seem to track subscriber rate pretty closely. I believe I got out of the slump by bringing back the site-wide opt-in form and raising my prices from $39/$89/"custom" to $49/$99/$249+.
From March to April I was able to increase both my monthly opt-in rate and my average sale size by about 50%. Two 50% increases make a 125% increase (1.5 x 1.5 = 2.25), and a 125% increase over $352 is $792, which of course is pretty close to my actual April revenue of $735. I don't know if I can be super confident in those causes and effects, but I think I can be reasonably sure. As more data comes in over the months I'll know whether to be more or less sure.
If a person is thinking about selling an e-book, I would definitely recommend doing a presale. First write some narrowly-focused blog posts to get traffic. Then offer some sort of lead magnet on that same topic to get email subscribers. Then do a presale to your subscribers. I don't know how many subscribers are necessary in order for a presale to make sense. For me, I launched to about 300 people and got 7 pre-orders, which was good enough.
I don't actually know exactly what my expenses are, which I know is dumb. I pay $99/mo for WP Engine, $79/mo for LeadPages, $49/mo for Drip, $9/mo for CrazyEgg, and I think that's it. So about $250 a month total, unless I'm forgetting something.
I've also paid for some one-off coaching and stuff like that, but I don't really factor that in since those are more like personal investments that could apply to any business.
When I was 26 years old I set a goal to be a millionaire by age 35, and a decamillionaire by age 40. Those are my two big career goals. I want to be able to do whatever I want all the time for the rest of my life. Given that I'm 33 now and haven't even gone full-time on a product yet, it will take a miracle to get me to a million by age 35. The goal still stands, though. If I have to update the ages to 40 and 45, then whatever. My plan is to get rich or literally die trying (although preferably not as a direct result of trying).
The millionaire goal is obviously a very high-level one so I have lower-level goals too. My immediate goal with Angular on Rails is to start making $1,000/mo consistently. Then $2k, then $5k, then $10k. The most important one to me is $10k/mo because that will allow me to go full-time on Angular on Rails and not have to support myself through contracting and consulting like I am now.
I don't really see any serious roadblocks ahead. My funnel's conversion rates are fine, and my belief is that if your funnel is working fine then it's time to start pouring traffic into the funnel. So my focus for the foreseeable future is traffic. I first intend to double my traffic from 8k/mo to 16k/mo. I reason that if I double my traffic I'll probably roughly double my revenue.
At some point I think I'll want to grow revenue by adding more product tiers or adding a subscription option. But for the foreseeable future my plan is to grow revenue by growing traffic.
If I had to start over with Angular on Rails knowing what I know now, there's actually not a lot I would do differently. I think my biggest mistake was to remove the site-wide opt-in form from my site, but that was an easily-fixable tactical mistake rather than some big strategic blunder.
I could also say I wish I had spent more time on it and grown it faster, but I think I spent roughly the right amount of time on it considering outside obligations and priorities.
I had a couple really attractive corporate training opportunities fall in my lap in February and March 2017, and part of the reason for early 2017's low revenue is that I was spending time on those corporate training gigs. But I'm not sorry I prioritized the corporate training gigs over the product business during that time. I also have two kids, and I'm not the kind of person who will totally neglect his family in order to pursue career success.
That's not to say I haven't made a lot of entrepreneurial mistakes in general. It's just that I made most of these mistakes prior to Angular on Rails.
I first started trying to make money with a product business around 2008. It took me 4 years of continuous work to make my first sale, and then it took me another 4 years to make more than $1000/mo. (September 2016 was the first time I made more than $1000/mo with products.) So it's been a slow, hard road.
My biggest mistake when I first started with products almost 10 years ago was that I thought my two career options were to work at a job or to "do a startup". Everything I was patterning myself after was startup stuff. So my product ideas were targeted toward consumers, which isn't a good idea because consumers generally aren't willing to pay very much for stuff.
I later read that "businesses buy on value and consumers buy on price." I believe that's true. Angular on Rails actually sells to individuals as opposed to businesses, but the customers buy for business reasons. They're making an investment in themselves so they can earn more money later. You can compare this to something like Spotify, which is just a luxury. That's why my video package costs $99, and Spotify only costs $10/mo.
Another big mistake I made was to come up with product ideas by brainstorming. Years later I realized that if I look around at successful product businesses, I don't think any of them were conceived of by brainstorming. Instead, the founders just stumbled onto the idea somehow.
I have some friends who make software for countertop fabricators. They didn't brainstorm that idea. Somebody's brother-in-law or something was a countertop fabricator. Similarly, I didn't brainstorm a bunch of business ideas and come up with Angular on Rails. I stumbled onto that idea because I myself found the Angular + Rails combination difficult. So the way to come up with business ideas probably isn't to try to come up with business ideas, but to try to reproduce the conditions under which business ideas are accidentally stumbled upon.
Unfortunately I don't exactly know what those conditions are, but I do know exactly how I'd go about starting another business if I wanted to. I'd find a topic that a) a lot of people are interested in, b) is narrow enough that I can be among the dominant voices in that area, c) that I myself am interested enough in to make myself a semi-expert. Then I'd start blogging about that topic to see if I could get any traffic, and then if I could get traffic I'd start collecting emails. Then I'd do an e-book presale. Same exact process as I used with Angular on Rails.
I bet I could come up with at least 10 ideas for successful e-books if I were to spend enough time researching. I think an easy formula is to find a common combination of technologies that's not very well-documented online. Rails 5.1 with Webpack integration just came out. Webpack is sufficiently complicated that maybe a short e-book could be written on using Webpack with Rails.
The key is to start with research rather than brainstorming. Don't formulate an idea and then check to see if it's good. Research to uncover insufficiently-met demand and then fulfill that demand. In other words, find a group of people who want to buy something and then sell them that thing.
There are a lot of books, people, conferences, and other resources that I wish I'd discovered earlier.
The book that changed my world was Micro-ISV by Bob Walsh. This book made me realize that job and startup aren't the only ways to make a living. There's a third way which is just a regular old bootstrapped business selling products online.
Another book I'd recommend to beginners is The Millionaire Fastlane by MJ DeMarco.
I can't really recommend a single book as a great starting point, because the advice I'd give to a beginner doesn't exist in any single book, although there's no reason it couldn't. (Someday I intend to write this book.) My understanding of the path to success is synthesized from a bunch of different books, podcasts, personal observations, and personal experience.
If there's any single place I'd recommend starting, it's Amy Hoy's stuff. Listening to Stacking the Bricks gave me some important ah-ha moments. I also read everything Ramit Sethi sends me. It can be very educational just to sign up for various people's email lists and read what they send you. I don't know of a better email marketing education than to read Ramit Sethi's emails and simply observe his tactics.
Also, here's a random list of resources to help you:
It's super important to educate yourself as much as possible. I'm always reading something. In the beginning I really valued strategic books because I had no idea what I was doing. Now that I have more clarity I value tactical books that help me with whatever I'm interested in at the time, e.g. SEO or copywriting.
One of my favorite areas to study is psychology, because it's very applicable to sales and marketing, and, because human nature never changes, knowledge of psychology never gets outdated.
If there are any natural abilities or tendencies that I have that have been helpful, one of the main ones is just a complete unwillingness to give up. I'm apparently a really slow learner when it comes to business. Like I said earlier, I started trying to make money online around 2008, and it took me until 2016 to make more than $1000/mo. And then my revenue went back down! If I had only kind of wanted to start a business, I would have given up years ago.
Also very importantly, I didn't let the fact that I didn't know what to do stop me from getting started. I was so dissatisfied with the idea of "working for the man" the rest of my life that I just started blindly plowing ahead, trusting that I would eventually stumble upon the path to success, which I believe I did.
Another helpful ability was my ability to write. I'm pretty good with spelling and grammar, which comes in handy when all my sales, marketing, and product development involves writing. (I also have a knack for the whole "computer" thing, of course.)
My first and main piece of advice is this: If you want to build a successful product business, just make a firm decision that you're absolutely going to do it no matter how long it takes or how hard it is, and literally start today — even if you have no idea what to do. Then, once you start, don't pause. Be prepared for it to take 10 years.
It's also a good idea to have clarity on the exact result you want, and to be very flexible regarding the methods you use to get there. In my case, I want to be able to do whatever I want, whenever I want, for the rest of my life. If I could do this by winning the lottery, I would. It's just way easier and a way safer bet to start an online business.
I mention this flexibility because it seems like a lot of programmers have an aversion to info products, my past self included (although I can't say why!), but an info product is a relatively easy way to get started. Starting a successful business is so hard that I want to take any shortcut or advantage that I can.
I've discovered through slow painful experience that I'm not some kind of creative business genius. There are certain things that work and certain things that don't. Thousands of other people before me have already figured it all out. If I can find somebody smarter than me and just copy what they did to get the results they got, then great, I'll do that. I want a paint-by-numbers system. An e-book business is totally a paint-by-numbers system.
Like I said earlier, I believe the steps are as follows:
If you follow those exact steps, making sure each step actually works before you move onto the next one, I don't see how you could not make money.
You can see my product's website at AngularOnRails.com. You can find all my web presences by just googling my name, Jason Swett. I write pretty consistent monthly income reports on my personal blog.
Please feel free to ask me questions in the comments below.