Author Archives: Jason

May 2017 Angular on Rails Income Report

Here’s every month of Angular on Rails’ sales so far:

2016 August $868
2016 September $1053
2016 October $1580
2016 November $871
2016 December $428
2017 January $371
2017 February $449
2017 March $352
2017 April $735
2017 May $480

And here are the last six months in graph form (I used Gumroad prior to December 2016 so Stripe doesn’t have data for those months):

So May was not as good as April, but better than the months leading up to April. Why wasn’t May as good as April? I don’t exactly know.

I’ve been pretty distracted from Angular on Rails lately. I’ve been doing a lot of training. Last week I taught a class in Amsterdam and the week before that I taught a class in Detroit.

I’m frankly expecting to have to neglect Angular on Rails for about the next 6 weeks. I really hate to do that but the first priority has to be the client work that pays the bills, and I have a lot to do for clients over the next 6 weeks.

Side note: I tried Facebook ads in May. It went well it the sense that I was able to acquire 37 subscribers for about $2 a pop but it went poorly in the sense that none of those 37 subscribers bought anything. I’ll try again later when I can afford to waste some money to get it figured out.

Entrepreneurship Journal, 5/18/2017

Product

I started doing Facebook ads. So far I’ve spent $52.29 for 21 subscribers for an average of $2.49 per subscriber. My average sale for April was $52.52, and about 8% of my subscribers buy something, so I believe that means a subscriber is worth $4.20 to me ($52.52 * 0.08). This means $2.49 per subscriber makes sense. For every 100 subscribers I buy ($249) I’ll make 8 sales, resulting in $420.16 ($52.52 * 8) of revenue and $171 of profit.

This is all assuming that subscribers who came to me via Facebook ads convert the same as subscribers who came to me in other ways. So far none of these 21 subscribers I’ve bought have bought anything from me.

Revenue for May hasn’t been very good so far. I’ve made just $257.25 in sales so far and it’s already the 18th. At this rate I’ll make less than $500 this month, which would be lame. That $257.25 even includes a sale when somebody accidentally bought the book twice, so it’s really more like $207. I’m reminded of this tweet:

We’ll see how things shake out.

Training

I’m in Detroit right now teaching a 5-day class. It’s going well. (By the way, Chris Cornell died here in Detroit last night. Crazy.) Next week I’m teaching a 3-day class in Amsterdam. Then I’m off for two weeks, then I’m teaching a five-week bootcamp in Detroit. Nothing planned after that yet.

I have some potential work in the pipeline. I taught a one-day class last week and the client was happy and wants to do more classes. This is through a training company so I don’t have much control over the sales process. All I can really do is make suggestions to the training company and then wait. I also have some other prospects but they’re much earlier-stage.

Development

I haven’t done any development work in a long time. The soonest I could possibly do any development work is after July 14th when my bootcamp ends. So I guess I will have gone four and a half months without having written any production code, which is totally crazy to me. I’ve been trying to line up some development work in what little extra time I’ve had but nothing has panned out yet. I don’t expect to have any more time between now and July 14th to find something. It actually seems more likely that I’ll line up some training work before any dev work. I kinda hope I find some dev work though because I have a somewhat long vacation planned for August and it would be nice to have some location-independent work to be able to do during the vacation.

How I got started in training

I got an email today asking a few questions about training. I’ll answer the questions here in case anyone else asks the same questions in the future.

The first question was about training companies. I wasn’t aware of this situation before, but there exist a ton of technical training companies who act as brokers between technical trainers and the end clients. I heard an episode about training on the Freelancers Show where Reuven Lerner recommended to work through training companies first, then go out on your own later. I would second this recommendation.

Here’s how I identified training companies to work with: I made a list of technologies I thought I could teach, then I googled “[technology name] training” or “[technology name] training company”. My list included Angular, Ruby on Rails, Ruby, JavaScript, HTML, CSS, PHP, MySQL, PostgreSQL…you get the picture.

I checked each training company’s website to make sure they offered a least one class I thought I was qualified to teach. Then I emailed the training company and said (roughly), “Hey, I’m an instructor. I teach X and I see you offer X. Want to talk?” The response rate was insane. I think more than half the companies I reach out to respond.

I also keep an Excel spreadsheet where I keep track of who I’ve contacted, when I contacted them, whether they responded, etc.

It seems that most training companies want to have you do something called a test teach before you’re an officially-vetted instructor with them. I found this process to be surprisingly time-consuming, but if you want the rewards, I guess you have to put in some effort.

Some training companies will provide the actual training material for you and some will expect you to provide your own. They usually use the term “courseware” for the material. Some training companies want your fee in the form of an all-inclusive rate. Other training companies just want your day rate exclusive of expenses. I understand market rate for working with training companies in the US to be about $1000/day plus expenses.* I understand market rate for working directly with clients in the US to be $3000/day or $5000/day or more. Training companies tend to have big-name clients. I’ve worked for clients like HP, VMware and Deloitte through training companies.

*November 2018 update: I now understand that I had been mistaken. I now understand market rates through training companies to be more like $1500/day plus expenses.

I’ve noticed a commonality among trainers: they seem to have written a book or at least have a lot of technical writing available online. Some trainers get leads directly via their book or blog posts. This is a great situation but it’s a long-term strategy and the lead flow isn’t very easy to control. It’s a little easier to make your own destiny by proactively reaching out to training companies for gigs, although they of course take a hefty cut. Best of all is probably to proactively reach out directly to end clients, although that’s much easier said than done. If I had to guess, I would guess that training companies have sales teams that directly reach out to Fortune 500 companies and pitch the training companies’ services. They have a lot of overhead so they’re probably not waiting around for someone to call them.

Advice for programmers wanting to start a product business

I only have a few minutes to write this right now but I want to get something out there because someone asked me. I might expand it later.

If you’re a programmer and you want to earn some “passive income”, here’s my advice:

Write an e-book. Make that your first business, a business that sells an e-book.

For the e-book topic, find something that lies at the intersection of “narrow enough that I can be the dominant voice on the internet on this topic” and “popular enough that I can actually make a living selling things related to this topic”. I think Angular + Rails is a good example of a combination that lies at this intersection. The best situation is when there’s a lot of demand for information on the topic but not a lot of existing information fulfilling that demand. This was the case with Angular + Rails when I stepped in.

Before you write the book, register an SEO-friendly domain name (like angularonrails.com) and start writing blog posts there. Write posts that are a) incredibly specific, b) target toward something you believe people are googling for (e.g. “angular rails heroku”) and c) long and definitive. Use WordPress for your blog. I HATE WordPress but it really is the best tool for the job. Use WP Engine to host your WordPress blog.

As part of your site setup, register a Drip account, set up an opt-in form in Drip, then drop that form into your WordPress site so that you get an opt-in form on every page. Offer a lead magnet that you’ll give people in exchange for giving you their email address. Call it your “Free Guide to Getting Started with “.

Once you have a few hundred people on your list, use Gumroad and a Jeff Walker-style launch to pre-sell your e-book. Sell it for $49. Offer to deliver it in two months. If enough people buy (for me, “enough” was just seven people), write the book and deliver it. Do another Jeff Walker-style launch when the book is done.

If your launch goes well, turn your book into a video series and then launch that (again, Jeff Walker-style). Sell the video product for $99.

What comes next? I don’t know. I’ve gone through the preceding steps myself and I’ve made an average of a little over $700/mo for the first 9 months that I’ve made money on my e-book and video package. I can’t tell you what to do next because I myself haven’t done the next thing yet. My plan at this point is to focus on traffic and keep cranking up traffic until I get a sign that I should chance focus to something else.

April 2017 Angular on Rails Income Report

Here’s every month of Angular on Rails’ sales so far:

2016 August $868
2016 September $1053
2016 October $1580
2016 November $871
2016 December $428
2017 January $371
2017 February $449
2017 March $352
2017 April $735

And here are the last five months in graph form (I used Gumroad prior to December 2016 so Stripe doesn’t have data for those months):

So March 2017 was the worst month ever, and then April 2017 was the best month in a long time. I attribute this improvement to two main things:

  • I dramatically improved my opt-ins from April to March
  • I raised my prices from $39/$89/”custom” to $49/$99/$249

More opt-ins means more sales and higher prices means higher average sale size.

I had set a goal at one point to double my average sale size. Prior to April 2017 my average sale was $35.13. In April my average sale was $52.52. That’s of course not a doubling but it’s a 50% increase which isn’t bad.

In my last Entrepreneurship Journal I described a 4-step plan:

  1. 3X opt-ins/mo
  2. 2X average sale size
  3. 2X traffic
  4. 2X average sale size again

I think I was initially imagining I would start with the first goal and not move to the second goal until the first goal had been achieved. Later I decided it would probably be more effective to turn some knobs on goal #1, then move to goal #2 while I’m waiting for results to come in, and so on, since there’s a delay between the time I take action and then time I have enough data to see the results of my action.

Here’s what has happened with opt-ins so far:

That’s not a 3X but it is a 1.5X which I’m happy with for now. And we’ve already seen that I’ve 1.5X’d the average sale from $35.13 to $52.52. 1.5 * 1.5 = 2.25. That’s interesting because March’s revenue, $352.25, times 2.25 is $792.56, which isn’t too far off what April actually was. So it looks like fiddling with these inputs really does affect the outputs in the way I would expect. And as long as my opt-ins stay about the same and average sale size stays about the same, I can expect May to be about the same as April.

I haven’t done much yet to influence traffic and I certainly haven’t 2X’d the average sale size for a second time. But for the foreseeable future I think traffic is what I’m going to be focusing on. My first goal is still to 2X traffic but I wonder now if maybe I should just try to, say, 5X traffic. I’ve been told that all my conversion numbers are pretty good and that it might be easier just to crank up traffic than to try to squeeze out some higher conversion rates. I can see the logic in this.

Right now my traffic is at about 8,000 visitors a month, so I’m shooting for 16,000 a month. My guess is that if I do that my revenue will go from about $750/mo to about $1500/mo. So that’s the next milestone.

Entrepreneurship Journal, 4/24/2017

I’m going to separate this Entrepreneurship Journal entry, and maybe every entry for a while, into three sections: Product, Training and Development.

Product

I recently came up with a four-step plan for Angular on Rails:

1. 3X opt-ins/mo
2. 2X average sale size
3. 2X traffic
4. 2X average sale size again

I realized later that my plan has a flaw. When I was talking about 3X’ing my opt-ins per month, did I mean 3X the opt-in rate or the absolute number of opt-ins? I think I meant the absolute number of opt-ins, which is problematic. The absolute number of opt-ins could be doubled by simply doubling traffic, which would make the goal of increasing opt-ins kind of irrelevant.

I don’t care that much anymore, anyway. Look what I recently did to my opt-ins:

drip opt ins

You can see that my opt-in rate had been kind of falling for a while and then in the last two weeks it shot back up. I think this is because I added an “ad” on each page for my Free Guide. If you click the ad, it takes you to the home page, where you can opt in.

free guide ad

I also did some certain things to try to 2X my average sale size. Previously, I had three product tiers: $39, $89 and “custom”. My average sale was something like $37. (A lot of my products are bought at a discount with a coupon code. That’s how the average can be less than the cheapest product.) The sales page really steered people toward the $39 product, too, because I felt like the $89 product was out of date and I didn’t really want people to buy it.

Then I refreshed my $89 product and changed the prices to $49, $99 and $250+. I also steered people toward the $99 product. Two times $37 is $74. My thinking is that if most people buy the $99 product, that can get me up to a $74 average.

So that leaves just two steps of my plan:
– 2X traffic
– 2X average sale size again

Doubling traffic is no big mystery. If I write more blog posts, I’ll get more traffic. 2X’ing the average sale size again will be a little trickier but I’ll cross that bridge when I come to it.

But hang on. Something weird got thrown into the mix. My April started off really strong but then I went 10 days without getting a single sale. This made me step back and re-evaluate things. I figured something might be really wrong.

stripe april

Well, I checked some numbers and ran them past some people and it looks like my conversion rates are fine. Here’s what they are:

– Site-wide opt-in rate: 2.45%
– Opt-in rate from my home page: 24.07%
– Sales page to checkout: 6.45%
– Checkout to purchase: 45%
– Sales page to purchase: 2.9%

According to some people I trust, these numbers are fine. They say what I should focus on is traffic.

Now that I look at it, 10 days with no sales isn’t that crazy. In January 2017 I went 11 days with no sales. I had a 7-day stretch in February with no sales. In March I went SIXTEEN days with no sales. So yeah, I think I just need more traffic.

Training

I have two training engagements coming up soon: one week-long class from May 15 to May 19 and a 5-week bootcamp starting June 12. Preparing for those two classes will fill up the majority of my open time between now and June 12. So I’m not really trying to take on any new work between now and then.

I do need some work for after the bootcamp ends, though. Right now I have two concrete training leads in the pipeline.

Development

I haven’t written any production code for a client since the end of February. This is probably the longest I’ve gone without writing code for money since 2009 when I quit my job in Austin and moved back to Michigan. It’s great.

Having said that, I wouldn’t mind picking up another development gig as long as it were the right kind of project. It’s easier to find coding work than training work and at some point before long I’m going to need some money. I’m planning to reach out to people in my network over the next several weeks to see if I can rustle something up.

March 2017 Angular on Rails Income Report

Here’s every month of Angular on Rails’ sales so far:

2016 August $868
2016 September $1053
2016 October $1580
2016 November $871
2016 December $428
2017 January $371
2017 February $449
2017 March $352

To use the classic geological metaphors, you can see a peak in October and then a plateau from December to the March. Why the peak and why the subsequent plateau?

Well, here’s one possible factor:

subscriber chart

That’s a chart of my new email subscribers. I had a peak in October 2016 with about 300 subscribers. Then it was all downhill from there. In March I had something like 98. So that’s one issue. (The jump in April 2016 is when I imported a list of ~300 subscribers from MailChimp.)

Then there’s this:

sales page traffic

That’s the traffic to my book’s sales page. Again, it peaks in October 2016 and goes down from there.

I think the decreased traffic to the book’s sales page is probably at least partially a function of the waning opt-in rate. And I think the slowing opt-in rate is a function of traffic to the home page. The home page is where all the opting in happens. Here’s the home page traffic:

home page traffic

Similar trend: down.

It took me until recently to notice these things because overall traffic has gone up! Here’s a graph of site-wide traffic:

overall traffic

That graph by itself makes the site look pretty healthy. Not entirely so, of course.

I have a hypothesis of the “no shit, Sherlock” variety that more opt-ins would result in more sales. I figure if I can get my opt-in rate from its current 100ish to its erstwhile 300ish, then I could reasonably expect sales to roughly triple.

My plan for increasing opt-ins includes:
– Put an “ad” on each blog post for the same Free Guide that’s offered on the home page (I’ve actually already done this)
– Add an opt-in on each of my most popular blog posts that offers something related to what the blog post is about (I believe this is known as a “content upgrade”)
– Write an promote some new material, which I haven’t done in quite some time. I have a hunch that the lack of “freshness” on my site is partially responsible for my decline in opt-ins, although I can’t explain exactly how that would work. Regardless of whether my hunch is correct, there’s a ton of stuff I think I should be writing about that I’m not. The more I write, the more traffic I get, generally, and more traffic is of course one way to increase opt-ins, although perhaps not the smartest/easiest way. New writing is a lower priority for me than adding content upgrades and refreshing old content.

Another thing that can increase sales is of course to raise prices or to increase the average purchase size. I recently re-did my $89 video product and adjusted my sales page to do a better job of presenting the $89 product and of saying to prospects “this is the default option, the best value, the one you should buy”. Anecdotally, my efforts seem to have worked, although it’s too early to tell. And I certainly haven’t yet done the best job of improving the sales page that I could possibly do. It really needs a ground-up rewrite and redesign. But that’s a lower priority. First let me just get opt-ins back up to where they used to be.

I mentioned that I re-did my $89 video product. I also updated my book so that it covers the latest version of Angular, Angular 4. After I did both these things I did a launch. I was expected big sales from the launch, like a couple thousand or more, but on launch day I believe only two people bought. Big disappointment.

I wondered why that was, and I think I know the answer. On my list of 1500ish subscribers, about 130 have bought. That’s about 8 or 9 percent. Maybe about 8 or 9 percent of my subscribers are going to be buyers, and that’s just all the buyers there are. Maybe by trying to get the others to buy I’m just trying to squeeze blood from a stone. A huge portion of my list comes from places like India and Brazil, after all, where $39 is a lot of money.

I think there’s also another explanation as to why my launch failed. Every time a subscriber subscribes, I give that subscriber his own private “launch sequence” which often does result in the subscriber making a purchase. So if my “private launch sequence” is effective, then a regular launch would probably be mostly redundant. For the most part, the people who would respond to the launch have responded the first time, and the people who would never respond aren’t going to respond to the second launch any more than they would to the first. Again, I think this is true for the most part although of course not always.

Those conclusions, if true, lead me right back to increasing opt-ins. If all the buyers on my list have already bought, find more buyers.

If I can boil down everything I’ve said so far into a concise plan, it’s this: increase opt-ins and increase average sale size. If I can 2X my sale size and 3X my opt-in rate, I can 6X my revenue. That would take my from my current ~$400/mo plateau to 400 * 6 = $2,400/mo. I would be very happy with that number. Heck, I’d even be pretty happy with a consistent $1,000/mo right now.

I don’t want to jump to conclusions or get my hopes up but it seems like some of the actions I’ve taken recently might have helped improve opt-ins and average sale size. My April sales as of right now, April 10th, are $386.75. That’s an average of $38.68 a day which would mean about $1,160 for the month. Again, I’m not going to jump to conclusions or get my hopes up. Even though my launch was a flop, the $386.75 does include launch sales. But just by absolute numbers, I’m already right at “plateau level” on the 10th day of April and I do think I can reasonably expect that April’s final sales will be higher than any other month since the plateau started.

Entrepreneurship Journal, 4/10/2017

My venture into training work continues to be successful. I’ve completed two classes so far this year and I have three more coming up. I haven’t done any actual development since the end of February and I don’t plan to do any more anytime soon. My training schedule has me fully booked through mid-July. (The prep work is time-consuming.)

My hope/plan/expectation is that from here on out I never take another development gig out of necessity. I might take one because I want to, but my plan is to do enough sales in training and products that I never have to take a development gig just to pay the bills. And I especially don’t want to have to take a shitty development gig just to pay the bills. Luckily it’s been quite a while since I’ve had to do that.

Like I said, I have a fully-booked training schedule through mid-July. After that I’m planning to take a vacation with the family and then after that I don’t know what happens. What would be ideal is if I could get Angular on Rails to the point where it’s making $10K+ a month so I don’t have to worry about lining up any client work. This, of course, has been the whole objective of my now nine-year-long effort to build a successful product business. So far Angular on Rails has worked better than any of my previous tries.

I have some stuff to say about Angular on Rails but I’ll save it for the March 2017 Angular on Rails Income Report.

Entrepreneurship Journal, 2/23/2017

Lately I’ve been posting income reports that talk exclusively about Angular on Rails.

I’m not sure what my original intended scope of these “Entrepreneurship Journal” entries was but I think I’ll now include in them everything I do that makes money.

In 2017 I think I can pretty accurately say that I make my money by a mix of three things:
– Custom software development
– Training/mentorship
– Products

In fact, I just got new business cards which say on the back, “Training / Mentorship / Custom Software Development”.

The training service is something I’m doing more of in 2017 than in the past. By the beginning of February my sales of training services were roughly equal to 75% of my total earnings for 2016. That’s a pretty big deal.

The “regular old coding” work I’ve done so far in 2017 is probably about 15% of my total earnings for 2016, so I’m already at about 90% of 2016’s income. Keep in mind that these are sales numbers, and not everything I’ve sold has yet been delivered or paid for. But the contracts are all signed.

This might sound like I have it made for 2017, and in a way I do, but a lot of this money is just going toward back taxes and credit card debt from 2016. I had a dry stretch in 2016 that really put the squeeze on at an inconvenient time. And when you get behind on taxes, it can be very hard to dig yourself out of that hole. So the pressure is still very much on to make a lot more sales over the next few months.

My plan is to first go after as many training gigs as I can, and once I think I’ve exhausted those resources, go after “regular” contracting gigs. And all the while I plan to put in an hour or two a day on Angular on Rails.

Let me talk for a second about the training I’ve done and the training I’m going to do. Last week I taught a 5-day Ruby on Rails class in Vancouver, Washington. In two weeks I’m teaching a 3-day Angular 2 class in Sofia, Bulgaria. Then, in June/July, I’m leading a 5-week coding bootcamp. I have two other leads, both in India, incidentally. One would be a remote teaching gig (in the middle of the night!) and the other would require me and the family to move to India for something like three months.

I also started something called the Grand Rapids JavaScript Meetup. I’m hoping/expecting that this will lead to some training and/or contracting gigs.

My #1 goal for 2017 is to go full-time on Angular on Rails. The way I’ve quantified this is that when I hit a consistent $10K a month from Angular on Rails, that means I’ve hit my goal. Even though I’m only making a few hundred a month right now I have a pretty good feeling about getting there. We’ll see where I am in a few months.

January 2017 Angular on Rails Income Report

In January I made $371, according to Stripe.*

*It seems like Stripe can be a little bit inaccurate since it always gives me the total sales number including sales that later got refunded. I had one or two instances where people got charged twice for some reason, so I had to roll back the second charge. There were also a couple people who wanted to pay me via PayPal, so those two things roughly cancel each other out.

Here’s my income for the 6 months Angular on Rails has been making money:

– August 2016: $868
– September 2016: $1053
– October 2016: $1580
– November 2016: $871
– December 2016: $428
– January 2017: $371

You can see a clear downward pattern. Why has revenue gone down? I think the simplest answer is that I haven’t really done anything to make it go up.

Let me talk about what I’ve done since January 1st. Keep in mind that I’m writing this on February 23rd.

A little after January 1st I offered a free training program. I sent out an email to my list of about 1200 subscribers and gave them a link to apply. To my great surprise, over 110 people applied for the free training. That’s almost a 10% conversion rate. Insane.

I told my subscribers that I would choose 20 students in order to keep the class size down, and that’s what I did. I think only about 16 students were able to join because there were time zone challenges. The format was a once-weekly 90-minute webinar. If I remember correctly, almost all of them attended the first session, but only 5 or 6 of the students stuck with it through the end.

I attribute the attrition to the facts that a) it was a free program and b) I had some really serious technical issues during the first session and had to push the whole program back a week.

Anyway, the class went reasonably okay. I plan to do it again. Next time, I plan to provide the students with videos that they can consume on their own time. The “live” time will be more of an office hours type thing as opposed to me just lecturing, which has very little benefit over a video. I’m very glad that I did this free training program before I tried to offer a paid one. I don’t think people would have been very happy if they had paid $X00 for the program I delivered this time.

Another thing I did recently was to pay for a book cover redesign. Here’s the original cover:

jasonswett2d

And here’s the new cover:

winning cover

I got the original off of Fiverr for $15 (IIRC) and the new one off of 99designs for around $550. (I think I overpaid but I’m happy with the end result.)

So, not much of the stuff I’ve done so far in 2017 is stuff that really directly drives sales.

Here’s what I think I need to do next. I have a $39 ebook that converts at a decent rate. Nobody right now is buying my $89 or my $299 product. I think the thing I need to do next is get my $89 product selling.

One obstacle is that I believe my $89 product to be outdated and kinda sucky. It’s hard to persuade people to buy a product I don’t really think they should buy. So I need to refresh the product. Second, I need to do a better job of presenting the $89 product on the sales page. If you give me $89, what exactly do you get? Right now the answer isn’t very clear. I need to make it more clear.

Once the product is refreshed and I make it better-presented on the sales page, I plan to re-launch the $89 product. When I originally launched the video package in October 2016, I made about $1600 that month, and at the time I had about 900 subscribers. Now I have closer to 1400 subscribers, so I think I can expect some pretty good launch sales.

I’m teaching an Angular 2 class in Bulgaria in two weeks and I need all the time I can get between now and then to prepare. I plan to do the $89 product refresh and relaunch when I get back. I’m giving myself about two weeks to do it. My deadline for relaunch is 3/23.