How To Create an Online Course From Scratch

I created an online SEO training course called ClickMinded. It’s a side project I’ve been working on, outside my full-time job, for the last few years. It really took off in 2014, and crossed over into six-figure revenue then. The course now has more than 9,000 users.

I was talking to a friend about what a weird journey it’s been to get ClickMinded to where it is, and he recommended writing about it. The entire journey has made me extremely passionate about teaching courses online. Hopefully this post will have a few insights that can help other people learn how to create an online course from scratch.

Who is this guy?

I’ve been living in San Francisco for the last four years. For the first two, I was doing search engine optimization at PayPal. Now I’m doing search engine optimization at Airbnb. If it’s not obvious yet, I love SEO. More specifically, I really enjoy the puzzle that SEO is. Trying to make a particular document the most relevant on the web for a specific query, relative to competitors, is a fascinating process. It’s a lot of fun for me.

I’ve had a number of side projects throughout college and into my 20’s. ClickMinded, (and teaching courses online in general) definitely isn’t the first attempt, but it’s certainly the one I’ve put the most heart and energy into. My dreamhost account is a graveyard of domain names that are the byproduct of 1-day idea seizures.

I’m sure this personality type isn’t alien to everyone. What I want to point out is that I wasn’t really able to succeed until I stopped having lots of ideas all the time and started to focus on just one. I had looked at a lot of stuff, including a number of opportunities in the affiliate world, like my friend Richard. With that said, I wouldn’t have ever stumbled upon ClickMinded, and how to create an online course, if I wasn’t constantly moving from one idea to the next. So there’s a balance there, I guess. I think the key is to aggressively think through different problems, and when you’ve found something that you’re more passionate about than anything else, drop everything and push on it as hard as you can. Going forward, teaching courses online is what I’m most passionate about these days.

Early days of ClickMinded

Towards the end of 2011, I had asked if I could lead one of the monthly marketing classes that were open for anyone to teach at PayPal. The entire marketing org was obligated, once a month, to “refine their marketing skills” and learn about a subject they generally knew nothing about. I put together a 2-hour “Introduction to SEO” course with a colleague of mine, and it went really well.

I got really good feedback on it. Specifically, I was told multiple times I made a previously uninteresting topic, interesting. The good reviews were a catalyst for me to ask my boss if it was cool if I started teaching SEO classes on the weekends to startups in San Francisco. He said it was okay, but asked me to check in with the eBay legal team first, to see if there was a conflict of interest.

I was super nervous about checking in with them, and put off writing the email for much longer than I should have. What if they say no? I would be destroyed, and would kick myself for not just going for it without asking for buy-in. I wrote and re-wrote it multiple times. It took me about 5 days to write 3 paragraphs. I was really sweating this one. After sending it, I got an email back in about 10 minutes, one line, that said “sounds like it’s not a problem”.

I bring this up, because this seems to be one of the first big things that hold people back from starting side projects while they’re working full time. Most of the people I’ve met doing a side project outside of their work tend to immediately view themselves as traitorous. My bias is, you shouldn’t be all that worried about it. There are definitely real, actual conflicts of interest out there in the world. If what you’re working on isn’t, and it’s starting to get traction, then let the right people know and stop letting it hang over you. Many of the people I’ve met trying to get a side project going are far more secretive than they need to be about whatever it is they’re working on.

After getting the okay, my back-of-the-napkin plan was:

  • Rent space at a co-working venue in San Francisco
  • Charge $500 per student for an all-day class, maximum 5 students
  • Teach the fundamentals of SEO and give students specific feedback on their sites

The first version of the site was pretty simple:

  • WordPress as a platform (there are many great WordPress themes out there if you’re interested in this)
  • A theme from Themeforest
  • Hosted on Dreamhost
  • Eventbrite to host the event
  • PayPal to process payments

clickminded: how to create an online course

Initially my plan for customer acquisition was, obviously, SEO. But as any practitioner of SEO knows, results can take time. So the chicken and egg problem while I waited for my search rankings to go up, was how to get users for an SEO class, without SEO?

To get started, I went old-school, the same way you’d start mowing lawns or baby sitting. I started printing out flyers with pull tabs on them that had my website URL. I burned a vacation day at work and walked around the city all day, papering most of the FiDi, North Beach, the Marina, SOMA and the Mission with flyers.

Not a huge surprise, but this didn’t work at all.

clickminded teaching online Surprisingly, this was the moment where a bunch of my friends said they knew ClickMinded was going to succeed, regardless of the fact that it seemed like a stupid way to acquire new users. I was told that everyone has ideas, but not everyone has follow through.

A hidden gem: 

Next, I setup a meetup group, The San Francisco SEO Meetup. I didn’t exactly have a plan in starting this group, but it felt like something would happen if I gave it a shot. This ended up being absolutely crucial in getting the initial traction I needed for my class. The formula for my meetup group success was:

  • Setup a Meetup group ($72 for 6 months). In your first few days of existence, Meetup automatically emails members they think would be interested in your group based on the categories you set. I shot up to ~100 members in the first 3 days.
  • Create your fist event. I had success with happy hours on Wednesdays or Thursdays at 7pm. Call different bars and restaurants, and tell a manager that you intend on bringing ~30 people, and you’d like a discount or a space to hold the event.
  • Email other Meetup group owners telling them your new group exists, you’re having an event, and you’d love for them to come as well as announce the event to their members.
  • Setup another event 4-8 weeks out the minute your event finishes. The key is to let the future event exist for a long time as an “upcoming event”. While it’s listed as an upcoming event, you’ll add dozens of new members that are looking for meetups happening soon, rather than looking for a group to join. Make sure your settings are configured so that the user has to join your group in order to join the event (both of which, should be free). A meetup group really worked well for me – there’s a number of other tactics you can use based on all of these Internet statistics.
  • This will effectively give you a mailing list that grows pretty quickly.

Minimum Viable Course

Once I had a substantial meetup group of people that were all interested in SEO and online marketing, I setup an event at a coworking space in San Francisco called SpherePad, and did a deal with them to hold an event there. I had three goals:

  • Force myself to finalize the class (git push -f origin master)
  • Get feedback on making it better
  • Get five 5-star yelp reviews

I had no intention of charging attendees. With that said, the key to getting people to show up was not to ask them to come to a free event, but to give them a free pass to an expensive event. I setup an eventbrite, set a price of $100, and then emailed my meetup group saying “Hey, I’m holding this event, it’s an all day saturday course. It’s normally $100, but it’s free for the first 15 people that email me. Let me know”. In the last 30 seconds of the course, I thanked everyone for coming and mentioned that I was looking for 2 things in return: feedback and Yelp reviews. Then I did one more email follow up after the event, asking again for the same thing.

In doing this, I accomplished all of my goals. I finished my course, I got tons of great feedback on it and I had four 5-star yelp reviews. It was enough to give it a shot.

Armed with a few good yelp reviews and a minimally viable class, I walked into Parisoma, another coworking space in San Francisco, and asked them if they ever hosted tech class meetups. They said it sounded interesting. We agreed on a rev share, and I had a date set for my first class.

A large portion of revenue derived from ClickMinded over the last 3 years was via some type of revenue share. Whenever I mention this to friends, I’ll often get a response like

  • “What a rip-off”
  • “50%? For what??”
  • “I’m sure you could’ve gotten a better deal. I have a friend who….”

What I found through this process, is that the % of revenue shared is almost the last consideration for me now. Much more important is the platform and the expected number of users, especially when you’re new.

After agreeing with Parisoma to do a course at their facility, they added the event to their weekly email. Cass Phillipps from Web Wallflower, a bay area events mailing list, instantly picked it up and sent it out in her next email. All of a sudden, I had my first 3 customers.

Those first 3 paying customers were definitely the hardest. Once that was done, I entered into a new rev-share arrangement with SpherePad. This was another key agreement, because I realized early on that flexible rev-shares (where I could book a room up to a day beforehand) were much less risky than setting a date and paying up front. If I didn’t find students, I was on the hook for it, and it was incredibly stressful to try to continually find new students right as I was starting. It made more sense for me to give a little more of the income away in exchange for not being on the hook for renting a room out for a day when no students signed up.

This continued for approximately 3 months.  I held 9 classes, with class sizes ranging from 1 to 4, all at $500 per person.

Eventually, I was contacted via Twitter by Samir Housri, from Rho Ventures in New York.

Samir Housri

Samir said that if I’m ever on the east coast and holding a class, I should let him know. Having never met someone at a VC firm, and being absolutely star-struck that he would ever reach out to me, I made up a reason to go to the east coast, contacted We Work NYC and held a training course there. He came, along with a few other students that WeWork promoted the class to, including a guy from TED.  Meeting Samir was awesome, and we’re still in touch.

The transition to online

One of the other results of the Meetup group, was that a student from HULT, an international graduate school in San Francisco, came to a happy hour. He was part of a digital marketing club on campus, and asked if I wanted to come to one of his classes and give a talk on SEO. I said sure.

Crucially, after finishing my presentation, a student raised her hand and said “Have you ever heard of Udemy? You should put your class on there.” This was the turning point in the life of ClickMinded.

At the end of the talk, I asked if anyone would be interested in doing an internship, and a number of hands shot up. I later emailed all the students with a long summary of what I was looking for in a summer internship, and had a bunch of people apply.

I ended up turning this internship into what would become the first version of ClickMinded. This is where I learned how to create an online course – via Udemy. Huge props to Bruno and Lorena, my first two interns who helped film the course and get it live. This was a giant project, and I’m still deeply grateful for all the work they did on this. ClickMinded went live on Udemy, and everything changed.

Getting the ball rolling

Even though the course was done, it certainly wasn’t ready to be sold. In order to get it ready for users to want to buy it, I made two assumptions around social proof:

  • I need at least 100 users signed up on Udemy
  • I need at least 10 5-star reviews on Udemy

In order to do this, I used the Meetup group as leverage again. Here’s how I did it:

  • Launched the course on Udemy for $99.
  • Gave everyone in the meetup group a promo code to get the class for free
  • Encouraged them to share with friends
  • Emphasized that the offer was ending in 48 hours
  • Sent a “last chance” email with a few hours left
  • Emailed everyone that signed up a few days later and asked for reviews

The Meetup group was crucial in getting this going, because I didn’t have an email list at the time. We talk about this more in the ClickMinded email marketing training. Outside of this, I also did the standard act of spamming a few close friends and asking them for reviews on Udemy.

I got to 100 users and 10 5-star reviews in about 5 days.

I will admit, many of my first 10 reviews were artificial. Is this justified by the fact that the next 50 reviews were real 5-star reviews? Probably not. Does it make me feel better? A little. The reality is, I found it very difficult to close the checkout loop when it’s clear that very few people have purchased the product, and there aren’t any reviews.

Since those first 100 quasi-artifical users and 10 quasi-artifical good reviews, the class is now up to 2,745 students and 60 reviews. I also move the price up a number of times. $99, $147, $247, and now $487.

ClickMinded Teaching Online Reviews


Once the transition to Udemy was made, I also started hosting content on my own site. This was a great experience, and I learned a whole bunch going through this process. Lots of it was very messy at times. Video encoding, S3, multiple payment processors, dealing with hundreds and thousands of user login credentials. There was a lot here. I went through a number of different learning management systems throughout this:

  • Udemy
  • Digital Access Pass
  • WooTheme’s Sensei Theme
  • Teachable (the platform the site is currently using now)

The course is now hosted on Teachable, which is far and away the most valuable learning management system platform I’ve ever used. I’m a huge fan, and I highly recommend reaching out to them if you’re hosting a class of your own. Ankur, the founder, was a former Udemy teacher, and basically created a product he needed himself. I’m super happy with it.

Based on these different platforms, the site also had to evolve a number of times as well:

ClickMinded Old Teaching Online Course 01

ClickMinded Old Teaching Online Course 02

ClickMinded Old Teaching Online Course 03

The kingmaker: AppSumo

The biggest break for me was landing my first deal with AppSumo back in 2012. I wrote a blog post on this called $21,243 in 8 days: Why AppSumo is crushing it. This summarizes the AppSumo story. I’ve now done 4 deals with AppSumo, and each one has been larger than the previous.

Roughly 35% of users have come from AppSumo. If you can get a deal going with these guys, you’re golden.

Grad school

A few months later, the class was rolling, and the dean of HULT San Francisco gave me a call and asked if I wanted to teach an elective. Since I had offered to do a few guest lectures, it put me on their radar. This was super interesting, because it was a graduate level class, and I definitely didn’t go to grad school.

I went in to his office one day after work, and we hashed out a bunch of ideas for a course. I ended up coming back to the school the next summer and taught a class, Customer Acquisition Through Digital Marketing. It was a summer elective taught to 105 MBA and MIM students over the course of 6 weeks. I’m teaching it again next summer.

I was also fortunate enough to teach a Stanford Continuing Studies course on search engine optimization. This was funny, mostly because Stanford still owns the patent on PageRank.


I decided to completely drop consulting, and focus exclusively on the course. If you’re looking for a technical SEO consultant, Jase Rodley is someone you should talk to. I was never a fan of certifications, but we ended up creating a few including the ClickMinded digital marketing certification, the ClickMinded social media marketing certification and the ClickMinded SEO certification. Google doesn’t offer one, and all of the ones I saw being offered were extremely low quality. With that said, my users were constantly asking me to do this, and I finally gave in.

Online learning and the future

I used to think online classes were a complete scam. They used to have that “University of Phoenix” stigma in my mind. Maybe it was because I took a few in college and they were garbage.

Since starting ClickMinded, I’ve received dozens of emails from students describing some amazing outcomes. A huge number of people have said they’re getting more traffic and customers after finishing the class – which is validation that it’s working, and that’s great. But there’ve also been students that were hired for a new job, promoted from their old job, or changed their career entirely after taking the course. Getting emails like that has been awesome.

ClickMinded really changed my mentality with online learning, so I decided to give it a shot again myself. Last summer, I took CS184 Startup Engineering, a Stanford CS course taught by Balaji Srinivasan. It was free. 100,000 students were enrolled. It was ~10 weeks long. And it was the single most important thing I’ve ever done. It was, from a “knowledge acquisition” perspective, more valuable than my entire 4 year undergraduate career at UConn.

This free, online course made me an order of magnitude more valuable at work, and I’ve now pushed hundreds of SEO-friendly code commits into the Airbnb codebase because of it.

I’ve now been on both sides of the table. I’ve taught a class with thousands of users that have been positively impacted, and I’ve now participated in a class with thousands of users, and was very positively impacted.

Online learning is for real.

Now I’m interested in working on a viable alternative to grad school.

Final Thoughts

I think my advice for starting a new side project can be summarized in two points:

  • Be passionate about what you’re working on
  • Don’t stop wiggling

There are a ton of great ideas out there. There are a ton of profitable ideas out there. There are not a ton of ideas that you will personally be passionate about. What I’ve come to discover, is that when getting started, the size of the market is much less important than the size of your own personal interest in the market.

If the passion’s there, you’ll find that you’ll WANT to go paper the city with flyers, even if it might not work. You’ll WANT to host happy hours and geek out about search engines. You’ll WANT to give lectures at universities that don’t seem to have a point or an end game. You’ll WANT to change learning platforms 3 or 4 or 5 times order, in order to better deliver your product.

Finding something you’re passionate about working on is the tough part. Once you do, you just gotta keep wiggling.

Excited Baby