At parties, reunions, and in emails, I’ve been getting this question a lot:
“It seems like you just travel, write, and goof off. If you don’t have a job… what are you doing for money? How are you affording this?”
When I’m a little drunk, I like to say “magical internet money” since it sounds mysterious.
But the more honest answer, is: “I built a business called Programming for Marketers that funds my lifestyle with almost no ongoing work.” A “lifestyle business,” for those new to the term.
Most people assume that you can either start a business and be 110% focused on it, or you can have a day job.
They don’t realize that there’s an in-between: businesses and products that keep paying you substantial amounts of money, even after you’re done working on them. A passive income.
And if you want to be a full-time creative, or build a bigger business that will take a long time to start paying you, or travel around the world posting obnoxious Instagrams, then having some sort of passive income is an incredible asset. It frees up your time to focus on the fun work you want to do, even if it’s not paying you yet.
When I explain that this is an option, everyone wants to know how to do it. And despite what some sites will make you think: there’s no silver bullet, no secret tactics, and it’s not easy.
But, with the right model and story to learn from and emulate, it’s certainly possible.
All I can do is tell you exactly how I did it. Every detail, every email, every landing page, every mistake, in the hopes that it gives you what you need to make this happen for yourself.
I don’t pretend to be the expert at passive income or lifestyle businesses. But I did pull it off, and I know you can too.
I’m giving away absolutely everything in this post. If you’re serious about trying to build your own lifestyle business or passive income, then make sure you read to the end where I put the downloads (every email, tool, etc.). Or you can get them now.
I ended up becoming interested in this idea the same way many people do: by reading The 4-Hour Workweek.
I was extremely interested in the idea of building a self-sustaining lifestyle business and not taking a corporate job but ultimately did little with it for 4 years. I was still in school and there was no pressing need to build a lifestyle business, so why should I bother? (I’m not advocating this reasoning, but that’s what I did).
While I never got serious about building something, I did tinker (screw around) a lot. I started a blog teaching people how to improve their habits, started a subscription site providing customized meal plans (programmatically), did Fratboxes, and half a dozen other little projects and experiments that let me get my feet wet with starting things, experimenting, and picking up some valuable skills.
I’d estimate that I started 20+ projects before Programming for Marketers, with 3-4 of them becoming serious time commitments. But those first projects don’t get big articles written about them since they didn’t last, so if you’re just starting out, don’t put too much pressure on yourself to get it right the first time.
No offense, but you probably won’t. Know when to quit and move on to the next thing, and you’ll get it eventually.
That tinkering continued until right before senior Spring in college when I realized that I was graduating with no job lined up and no interest in lining one up either.
After working for myself for a year, I knew I didn’t want to go work for someone else, so I knew I needed to figure something else out. (Granted, I did end up taking a job for 8 months, that story is here).
The time constraint of 6 months until graduation was a blessing in disguise. It pushed me to work extremely hard and fast, taking advantage of Parkinson’s Law on a longer timescale than usual, and build something faster than I otherwise would have.
If you’re trying to do this yourself, I fully believe a time constraint is a key factor. Create some sort of deadline for yourself, by quitting your job, putting money on the line at Go Fucking Do It, or other scary motivator. I hadn’t fully appreciated the power of stakes until starting work on P4M.
Before I get into building the business, there’s an important point that many lifestyle business bloggers ignore because they don’t want to hurt your feelings or scare you off.
If you don’t have some relevant, valuable skills, or the ability to teach yourself new things, you’re not going to have a good time. You’ll be more likely to waste years on something going nowhere, or fail and then blame someone or something else for it.
What skills those are will vary, but I can’t imagine someone succeeding at making a lifestyle business without these skills (or the ability to pick them up quickly, ask a friend about them, etc.):
If you don’t have some of those skills, here’s the quickest way to start getting familiar with them:
Website creation: Make a site with BlueHost + WordPress and just start messing around. It’ll make sense pretty quickly.
Marketing: Read how to grow a site from 0 to 10,000 visitors a month.
Copywriting: Read the “Boron Letters.”
Now, don’t worry. If you read this section and got freaked out about “not being ready,” you should still go for it.
Collecting tons of information you don’t need is a waste of time and form of procrastination, so don’t go overboard by taking a bunch of courses and reading dozens of books hoping that after enough of them you’ll feel “ready.”
It’s better to learn the bare minimum above, get started, and fill in gaps in your knowledge as they appear.
When I was trying to grow my startup before Programming for Marketers, I had hacked together a bunch of python scripts to automate pieces of our marketing. Little bits of code that could post to Twitter, manage our email funnel, things like that.
One weekend, I realized that other marketers might want to know how to do that. So I bought the domain www.programmingformarketers.com, put up a super ugly landing page, then posted to reddit/r/marketing about it.
I collected ~100 emails… then did absolutely nothing with them.
Fast forward 8 months. I was talking to my friend Justin who I’d done some marketing projects with. We wanted to partner on building a lifestyle business, but what?
He’d created SQL for Marketers a while ago, and it had become one of the most popular courses on Udemy. The conversation went something like this:
Justin: “Yeah so with how well SQL for Marketers has done, I’m wondering if there’s a market for video courses teaching marketers other technical skills as well.”
“You mean like… programming for marketers?”
Agreeing that there was an opportunity here, we got to work.
We knew the end goal was the build a video course that people could buy with an automated sales funnel, but setting all of that up is a huge investment. We didn’t want to spend time making it if we weren’t certain that people would buy it. This is called “validating” the idea.
So we asked ourselves:
What’s a lightweight version of a video course that we could use to test whether people would be interested in the topic of “technical marketing”?
The answer was a free email course. Not only would it test if people were interested in the topic, but while validating it we’d be building the sales funnel at the same time!
To be clear, we didn’t invent this tactic. We looked at other people who had video courses that were selling well (specifically Kopywriting Kourse and Double Your Freelancing), and copied their methods. Both use an email course to upsell the video course.
We’d figured out how to prove that people were interested in the topic; now we just needed to see who would sign up for it.
We wrote out everything we could conceivably cover related to technical marketing, coming up with ~50 lessons, fitting into 12 broader themes.
But obviously, we couldn’t make a 50 lesson email course. It’d be too long, and then there’d be no reason for someone to buy the paid course, so we picked the 7 that looked the most exciting. We focused on ones that could quickly make someone go “whoa, I can do that?!” and that anyone could use.
For example, a lesson on Twitter automation was extremely popular because almost all marketers use Twitter, and would love to easily automate it. A lesson on Adwords automation would have been less exciting since not everyone uses Adwords.
A very important note: We didn’t write any of the lessons yet. There was no point in putting time into writing them if no one wanted to sign up for the email course.
It was the same principle as making the email course in the first place: prove interest, then build. Don’t build hoping for interest.
All we did was put together good headlines for the 7 lessons and very brief outlines. Then I put together a simple landing page to advertise the free email course.
Just like we took inspiration from existing video courses for how to validate the idea, we took inspiration from existing email courses for how to design our landing page.
This was my first iteration:
Building it only took a few afternoons. I used BlueHost to host the landing page, installed WordPress on the site, and then used the “Divi 2.0” theme by Elegant Themes.
To be clear, I’m not a designer. I just made two existing designs have web-design sex with each other, and this was their baby. The theme made it stupid easy since all I had to do was drag and drop pieces to make it look the way I wanted, then tweak the CSS a little bit.
We got some feedback on V1 from marketing friends, and eventually landed on this design for the launch:
The only thing that’s changed since then is removing the timer, and it still converts ~25-30% of all visitors.
Last, we needed to setup the site to collect emails, and to build in some virality.
The theme had a built in widget for email collection, so all I had to do was connect that to a MailChimp account that I could send emails from.
Then, I wrote an email that would go out as soon as someone signed up, asking them to refer a friend to the course in exchange for a free PDF of automation hacks that they could do immediately.
This referral bonus was extremely successful, boosting our signups by ~30% (each signup brought in .3 more people). If you’re curious how to do that yourself, we covered it in the first lesson.
With all of this setup, we were ready to roll and see if anyone would sign up.
First off, we didn’t automate the PDF delivery for referrals. I won’t ruin the surprise but suffice it to say that Justin had to manually send a LOT of PDFs the day we launched. I eventually automated this through Zapier, but there’s a better option.
And while you could code that yourself, Bryan Harris built a tool called “Smart Bribe” that does it all for you and drops right into your page, so I’d just use that.
Also, when we launched, there was no exit-intent opt-in in case someone showed up and was about to leave. If I were doing it now, I’d add SumoMe to capture people who don’t sign up right away (we have it set up now, and it gets an additional ~10% of visitors to sign up).
The moment of truth: would anyone sign up for this email course? If no one was interested, we would have tossed the whole thing. There was no point in putting time into making a video course if no one wanted free written lessons.
We decided to launch it on a Thursday, with the quantitative goal of 1,000 email signups by Monday. Where did the goal come from? We just made one up. Wish I could say it was more scientific than that… but it wasn’t.
On launch day, we posted to Product Hunt, GrowthHackers, Hacker News, Reddit Marketing, and Inbound letting people know about it. These posts drove 90% of the traffic and signups since the audience was hyper-targeted.
During the launch period of Thursday to Sunday, here’s how our traffic broke out across channels (Direct is some combo of GrowthHackers, Inbound, and referrals from signups):
For each place we posted, we asked some of our friends to help us by upvoting our submission. Yeah, you’re not supposed to do that, but everyone else is, so if you don’t do it a little bit you’ll have a hard time getting noticed.
Just don’t overdo it and get penalized like we did with Hacker News. Actually, don’t try to game HN at all, as far as I’ve found it’s impossible. It sent a ton of traffic briefly, but then they caught on and kicked us off the front page after ~30 minutes. Sad Nat.
We also posted to our Facebooks, Twitters, and LinkedIns. These all drove significantly less traffic, though, barely a rounding error as you can see.
By Sunday night, we’d amassed ~2,800 signups, well above our goal of 1,000. This was the validation we needed to go ahead with making the email course.
These days, Product Hunt isn’t a huge fan of email courses, so it’s hard to get them on the “Featured” page where all the traffic comes from. There are other services popping up to fill in the gap, like Email Course Stash, though, so you can try those as well.
I would have been more careful with Hacker News. I didn’t realize that they were so strict with gaming the system, or rather, how good they are at catching people.
Having an existing audience, like this site, would have helped immensely. The best time to start building an audience is now because you never know when it will come in handy. More on that in another article.
If we had planned some lessons with influencers in the space (highly recommend this), then I would have asked them to email their lists, post to social, etc. That could have driven a ton more traffic and noise that we didn’t get by not having as much market recognition.
With the interest proven, it was time to write some insanely great lessons.
We launched the landing page on Thursday, promising the course would start on Monday, so we had to immediately start putting the lessons together. We had our outlines to go off of, but for the most part, we were finishing them just in time for the next scheduled release.
It was a bit hacked together and last minute, yes, but it worked and people loved the lessons. We even had people asking us when they could buy the full course… without us ever mentioning a full paid course.
As we were making the lessons, we added virality to them as much as possible by giving people bonus content in exchange for sharing lessons on Twitter, Facebook, LinkedIn, etc.
This helped immensely with getting more traffic back to the course without having to constantly promote it, and is a big part of how it’s managed to get 500-1,000 new signups per month since launch with no additional work.
Once all the lessons were done and had been sent out to the first subscribers, we put them into a MailChimp automation campaign which would send them to new people who signed up in 2-day intervals. This way we didn’t have to send any more emails, they would keep going out automatically.
With the interest proven and the email course running on its own, now we needed to see if anyone would pay for more.
Just because people signed up for a free course didn’t mean they’d put money down, so we needed to make sure they would buy it if we made a full paid course.
First, we emailed the list asking what else they’d want to learn about technical marketing. Then we added their responses to our existing outline, giving us a full list of everything we could cover in the course.
From this, we made a super janky landing page describing everything that would be in the paid course. It listed all the lessons, bonuses, how it would be structured, etc. and we emailed it to 300 of our “5-star” students (ones who had opened almost every lesson).
We also put together a landing page for a Technical Marketers “mastermind group,” and emailed that to another 300 students.
The paid course pre-order was for $500, the mastermind group was for $50 a month.
And… no one bought either. We realized that the mastermind group was the wrong move and that we’d set the pre-order price too high.
We emailed everyone back, apologized, and offered the pre-order for $250 instead.
After this email, we pre-sold $10,000 in the course without ever making a lesson, which was the validation we needed that people were willing to pay for it.
With that done, and with the pre-orderers waiting for their lessons, it was time to start recording.
Our pre-sale page was ugly ugly ugly and the copy was not great. I’d put more time and some money into making that look awesome if I did it again, but hey, it worked!
I’d also have been more tactical on the pricing, using a method I mention later. We just picked a number out of thin air and ran with it.
When we created the landing page for the preorders, we had to list out what the course was going to have in it, which made it easy for us to direct our efforts with putting the course together.
We started with a marathon weekend in SF. I flew out to Justin’s place and we locked ourselves in his apartment to get as much of the recording done as we possibly could before going back to working on it remotely.
This is where things got tricky. Making the video lessons, between planning, recording, and editing, took 3-10x longer than we’d anticipated. Our original goal had been to overload on caffeine and get everything done that week, but we had to scale that back to just getting 2 of the 8 modules done.
As we completed each module, we loaded it into our course on Teachable. They make it stupidly easy to host video courses like this, so we didn’t have to worry about the backend of making the course.
Then the early buyers would give us feedback, and we’d make tweaks while working on the next unit. We released a new unit every few weeks until we’d filled out the initial ones that we’d planned on, at which point it was time to do the full launch.
We tried to be way too professional with our production and ended up in this awkward middle between casual and professional, which made some parts a little weird. I wouldn’t focus on trying to make it look like a studio made it; I’d just focus on awesome useful information.
Now that we had the first version of the course done, and some people in it leaving feedback, we had to launch the full thing to our entire list.
The landing page, or sales page, is the most important point of contact that you’ll have with your potential customers. It needs to convey everything covered in the course, and show them why it’s a good decision to invest in what will likely be a non-trivial purchase.
Justin and I did the copy, and Adil Majid did the design and layout. We had hired another copywriter originally but ended up not being happy with their work and did it ourselves.
Then, once again, we sent the landing page around to some friends for feedback. We tweaked the copy, plugged in prices, and we were good to go.
For pricing… we just made it up. I’d love to say we came up with some crazy formula or method, but we didn’t. We just picked some numbers that sounded good.
These emails broke out into (you can get the exact emails we used in the bonus material):
Writing these ended up being incredibly difficult. Good sales copy is hard, and I’m not sure we’ve put that much time into writing emails since then. It completely burned both of us out and isn’t something anyone should take lightly.
Then on the date we’d chosen, we opened the cart, and the emails started going out.
Over the next 10 days, we made $48,150 in sales, some people paying up front and others paying out over 4-6 months.
For pricing, I would have tested it a lot more, using the method in Bryan Harris’s article. That would have given us a better idea of what was reasonable before doing the pre-sale.
I also wouldn’t have done quite as aggressively long of a sale. Our readers were burned out by the end, and ~15% of our list unsubscribed. I would shorten it to 5-7 days, or just send fewer emails. Most people bought at the deadlines with hardly anyone buying in-between them, so I bet we could have sandwiched the deadlines together.
After the cart had been closed for a while, we decided to add some of the sales emails to our drip, and let the paid course promotion happen automatically as well.
I think of all the places we messed up, we messed up most by not doing this sooner. We waited almost 6 months to automate the sales funnel (for not great reasons) and I wish we had done it right away.
This way whenever someone joined the list, they would get the 7 lessons, then 3 bonus lessons and be sold on the course. This now brings in ~$3,000 in non-sale months with 0 work, which is a great small passive income source.
If we want to do a big sale in the future, all we have to do is turn off that part of the funnel for a month. And the people who don’t buy can always be re-engaged, too. I did a one-day sale a couple months ago just to see how engaged the list still was, and it sold over $18,000.
Automate your sales funnel sooner rather than later, you can always sell to people again.Occasionally test interest by doing small sales.
The whole asset of “Programming for Marketers” has provided revenue opportunities beyond just the course, too.
We have affiliate deals with BlueHost and Elegant Themes which pay out $100 and $45 respectively, and we’ve been able to promote other people’s launches, courses, and products that are relevant to the list.
If you’re going to build a lifestyle business, think beyond just your main income stream. There will likely be one big one, but there will also be lots of little other ways you can earn revenue from it.
Going from idea to $58,150 took roughly 5 months for Programming for Marketers, and I didn’t have a resource like this article to help me.
If you’ve kicked around the idea of doing your own lifestyle business, just go for it. Set some stakes, get a partner if you want one, and figure out how you can test whatever idea you have. Once you know there’s interest and have people waiting for more, it only gets easier.
And to make it even easier, make sure you get all the bonus content for this article. I’m giving you:
Then consider signing up for my Monday Medley newsletter. It's a collection of fascinating finds from my week, usually about psychology, technology, health, philosophy, and whatever else catches my interest. I also include new articles, book notes, and podcast episodes.