I've made $7,000 teaching online. Here's what worked.

Six months ago, I had an idea for an online course. Today, I've made over $7,000 teaching online.

Here's what worked.

Writing Online

I've been writing online since 2014. I would condense and simplify pieces of information I learned into helpful articles. At the time, I wrote for myself––I needed to keep my skills sharp.

I repurposed the knowledge I was paid to learn at work into content for others. After five years of writing online, I hadn't made a single dollar. All of the content I produced was free. I saw other creators making millions teaching online. Why couldn't I do the same?

I realized I hadn't been giving away my content for free. I was building an audience and establishing credibility.


Writing online is difficult. Clearly explaining technical content is twice as hard. You have to understand the subject deep enough that you can explain it at an entry-level. Many fail at this.

Over the past six years, I created my niche with front-end web development. I started a small newsletter where I'd share my latest writing with my audience. I'd distribute my content to social media. Occasionally, a post would go viral on Reddit or Hacker News.

Slowly, I became credible in my niche. My tutorials and blog posts helped others learn. I established myself as an "expert". I say expert, but you can do this.

Most people spend the majority of their time online consuming instead of creating. Be a creator. I focused on writing about topics I found interesting. Along the way, I built an audience.

Building an Audience through Learning

When I learned something new, I would share it––with my newsletter, on Twitter, everywhere. I gave value to my audience. The content I created for myself was now a reference for others.

Over time, this grew into a hub of inbound traffic to my website. Today, over 80% of my traffic comes from organic Google Searches. Without an audience, you cannot sell a product. Be helpful on the internet and you will create an audience.

At the beginning of 2019, I became obsessed with a specific technology called Next.js. It allowed me to create websites faster. I rebuilt my website using it and documented the process along the way. I continued to write about Next.js that year. In September, I realized I'd found my niche.

Finding Your Market

It's impossible to measure your success if you can't track it. Whatever your metric is (post views, number of likes), you need a baseline to improve.

I use Google Analytics and Search Console to monitor the performance of my site. I'm able to see which articles perform best and how people find my site. To my surprise, almost all of my highest ranked articles were about Next.js. I'd found my market.

Creating demand is hard. Filling demand is much easier. Don’t create a product, then seek someone to sell it to. Find a market—define your customers—then find or develop a product for them.

Creating a Course

The idea of creating an online course seemed daunting. It would take six months, at least. Based on my analytics, people were interested––but would they buy it?

After researching teaching online and marketing, I had a eureka moment. To figure out if people would buy the course, I would launch it. Now. Why should I treat this course any different than a software product? With software, you can start small and rapidly iterate over time. I applied the same methodology to the course.

First, I defined the content. I created an outline for the course I wish I had when starting to learn Next.js. Working backward, I made a list of 15-20 main concepts to cover. Then, I created a website to market the course and allow people to pre-order. The main benefit of your course should be explainable in one sentence or phrase. How is it different, and why should I buy it?

On November 3rd, I launched the course.

I placed a small bet––only 15-20% of the content was finished. If this launch failed and no one bought the course, I'd cut my losses and walk away. Instead of wasting the next six months, I wanted validation now people would pay for this.

I intentionally priced the course high at $199, with a launch price of $99. With ten pre-orders, I'd have $1,000 of revenue. No cards were charged––I wasn't stealing their money. I was validating my idea and confirming I had a market. With no idea how long it would take to create the course, I set a launch date of April 2020.

Two days after the launch, I had my first sale. It was breathtaking. Someone on the internet spent $100 on a digital asset I created. I couldn't believe it.

The next day, another sale. And another the day after. In the first week, I made seven sales for $700 in profit. I was motivated to continue working.

Should I Use A Platform?

You'll need to make two platform choices: how to accept payments and where to host content. For payments, I'd recommend Gumroad, Paddle, or Stripe. Depending on your volume of sales, there are different processing fees. This article goes more in-depth about how fees compare across platforms.

The second decision is where to host your content. For e-books or a small number of videos, I'd recommend Gumroad. If you have a large video course, YouTube (with private videos) worked well for me. Another option is a fully-managed online course platform like Teachable.

Marketing & Advertising

Writing online was effective at growing my site, so I took the same approach for the course. I wrote three articles to attract inbound traffic from social media and search engines. I released a 26-minute introduction video on YouTube. Not only did this promote the course, but it further established my credibility. The video has over 2,500 views, almost all from organic searches.

Providing value by giving is the fastest way to grow. If your audience has learned from you, they'll want more. Only after you've provided value can you sell a product. To give back, I ran a Twitter giveaway for the course. Initially, I planned for five winners. The response was so overwhelming that I ended up giving away ten instead.

I spent $0 and reached 7,331 potential customers. Here's the full statistics on that tweet.

  • Impressions: 7,331
  • Engagements: 488
  • Detail expands: 119
  • Profile clicks: 101
  • Link clicks: 72

I realized it was time to spend money on advertising.


My first attempt at advertising was through Google Ads. Again, I started with a small bet of $5/day. The initial results were promising.

  • Impressions: 5,255
  • Clicks: 24
  • Ad Spend: $26.75
  • Sales: 2 x ($99)
  • Profit: $171.25

Comparing impressions against Twitter shows how valuable of an asset it can be. I continued advertising with Google, increasing the daily spend to $20/day for another week. Here are the final numbers.

  • Impressions: 53,357
  • Clicks: 189
  • Ad Spend: $208.91
  • Sales: 6 x ($99)
  • Profit: $385

I also tried Reddit. I iterated over a few ads with this approach.

  1. Use A/B tests to try different ads
  2. Take the ad with a higher click-through rate
  3. Rinse and repeat

I'd optimize each ad by targeting specific subreddits. For example, /r/reactjs had twice the click-through rate for the same cost-per-click.

Even though I was new to advertising, it played a critical role in growing the course. Now, I needed to launch.

Launch Day

For months, I worked closely with early customers to get feedback on the course. Feeling confident, I soft-launched with 95% of the content finished.

After a week with no issues, it was time for the real launch. I posted to Product Hunt, Reddit, Indie Hackers, and everywhere else I could. By the time I had launched, I had $2,000 in pre-orders.

Ten days later, I broke $3,000.

When I started the course, my original goal was $5,000 in total. I thought that seemed aggressive. In retrospect, I aimed too low. Never underestimate the power of teaching online.

Since launching in February 2020, I've surpassed $7,000 in revenue. I'm averaging \~$1,500/month, putting me on track to make $18,000 this year.

You Should Teach Online

There's never been a better time to become a creator. Blog posts, YouTube videos, courses, podcasts, streaming––if you have something others find value in, share it. Publish that article. Make that video.

Stop waiting for a once in a lifetime idea and start teaching others online today. The opportunity outweighs your fears. Even if your audience is small, teaching others will improve your understanding of the subject.

My story isn't unique. Here are some other creators that inspired me.

Never underestimate the power of teaching online. I hope this helps and I'm happy to answer any questions for others wanting to teach online.

  1. 3

    I'm testing the same pre-order method on NoCodery it's good to know that someone already tested it and it worked.
    Thanks for sharing your experience.

    1. 1

      You're welcome––and good luck with NoCodery!

  2. 2

    Thanks for sharing!!

  3. 2

    Great post, Lee. Thanks for sharing!

  4. 2

    Thank you for sharing this. I started my journey of providing online content, tutorial material, and courses about a month ago. I am currently working on a platform for hosting and monetizing my courses. I really appreciate you sharing what you've learned through the process.

  5. 2

    Hey Lee! Wanted to say I've been following your blog for a while, and have learned a ton from your Next.js tutorials. Keep at it!

    1. 1

      Awesome! Thank you so much––I'm glad to hear it's been helpful.

  6. 2

    Hi Lee, thanks for sharing your story, super inspiring.
    I spent a half day and created a short mini course last month, now i have 11 paid students. It's quite amazing.

    I am working on my second course now, if you have some time, would you mind taking a quick look at my landing page and give me some feedback? Will DM you my course url.
    Thanks a ton in advance!

    1. 1

      Yeah, absolutely. Send it over.

  7. 2

    Awesome post. Thank you so much! I'm going to try to follow in your footsteps with my book. Also, super happy to see that your course price point of $99 worked!

  8. 2

    great article! Thanks for the insight!

  9. 2

    Love it! Thanks for sharing your story.

  10. 2

    This is VERY interesting. Thank you!

  11. 2

    Awesome post - thanks for sharing! You talked about your blog a little, but did it actually produce any traffic either organic or direct? Would you mind sharing some numbers? :)

    1. 2

      Sure! Since the course site launched, there have been ~11,000 views.

      • 45% direct
      • 22% referrals
      • 15% social
      • 13% organic
  12. 2

    Inspiring! thanks for this

  13. 2

    I bought your course a few weeks ago, nice work :)

    1. 1

      Awesome! What did you think of it?

      1. 2

        I'm enjoying it so far. Lots to take in, but I think you've explained it all well.

  14. 2

    Great article with useful information 👌

  15. 2

    Thanks for sharing. Great article!

    Who are your early customers? Are they your close friends? Or do they come from the audience you accumulated from your blog?

    1. 2

      Definitely from the audience accumulated on my blog! My close friends aren't in the same profession 😁

  16. 2

    I've been procrastinating on doing this type of thing for years, this year I have started sharing content online mostly via YouTube but it's very early days. I find video content much easier to create over a blog post.

    Your approach of helping others and giving out the value first is so important and often overlooked, I heard Adam mention a while back that giving out free content is like pushing down on a spring, the more free stuff you give away and the more value you give out, the bigger the return will be once you do pull that trigger and release a course.

    Your post was very inspiring, the biggest hurdle for me has been convincing myself that others will read my content or watch my videos, it always feels like others have covered topics I would be interested in creating content for such as Laravel, React, Vue etc.

    Great post, very inspiring and honestly I am tempted to get your course as a customer as well :)

    1. 2

      You can do it! At a minimum, you’ll understand the content better by explaining it to others. Best case scenario, you can create an audience and sell a product.

  17. 2

    Great. Thanks 🙏 Much appreciated. I wish you the best of luck 😃🎉😃

  18. 1

    What are your thoughts on written Vs video material?

  19. 1

    I'm in the process of putting together for a niche within the travel industry alongside a more general marketing course....this is a very inspirational post and good to see you made it work outside of the likes of Udemy.

  20. 1

    Congratulations on the milestone and thanks for sharing your experience. What was the hardest part of creating your course? Anything you wish you would have known when starting out?

  21. 1

    Great post, I learned a lot. Thanks for sharing.

  22. 1

    Thanks for sharing your experience, it's very valuable!

    Here are some other creators that inspired me.

    Well, these examples are slightly outstanding because all these people already created their personal brands and had thousand of followers, unlike a newbie who just would like to start a course but doesn't have huge social capital.

    One question, where do you eventually host your content? I wondered why you decided to go with Gumroad, the Teachable doesn't have an integrated payment?

    1. 1

      They received thousands of followers by creating content and establishing a brand.

      I went with Gumroad because it was easy to set up and the fees were reasonable for my scale. I hadn't heard of Teachable at the time. I'm still pretty happy with Gumroad, though.

  23. 1

    Hey! i'm from morocco I'm just 19yo i m really interested by your work
    and i wan't to start but i don't have any ideas same for money
    m waiting for your help please

  24. 0

    Great, you had to invest money in it before you gained anything from it.

    1.Can you share your sites, youtube channel of whatever do you use?

    1. Who where buyers? People from the USA?

    2. You are from the USA so it's easier for you to write tutorials, teach, express yourself and talk in English. Do you think that you had an advantage there?

    1. 1

      The only upfront investment I made before finding a customer was buying the domain name. After that, investments in advertisements had a positive return on investment.

      1. The course is called Mastering Next.js, a 50+ lesson video course on React and Next.js. Here's my YouTube channel.
      2. People all over the world have taken the course 🌏
      3. There's certainly a large percentage of people who speak and read English. If you're fluent in English, then it shouldn't matter what country you are from. I'd also say there's an opportunity to create courses in other languages.
      1. 2

        Who paid mostly for courses, is that evenly distributed or people for certain countries dominate?

        1. 1

          The majority were in the U.S.

          1. -2

            This comment has been voted down. Click to show.

            1. 2

              I respectfully disagree. My major advantage was the audience I built beforehand and the content I created. Being proficient in the language I'm using to teach is a prerequisite. The same approach could be taken for a different language like Chinese.

Trending on Indie Hackers
I quit my 1+m$/year job to work full-time on my own project 21 comments UX mistake 24: Design the Table Instead of the Content 10 comments RocketList - a collection of cloud actions for your site 9 comments My Core Web Vitals Tool Featured on Product Hunt 🔥 7 comments How a Twitter API suspension nearly killed my startup 5 comments Show IH: 16 Year Old Builds ₿itcoinForecast To Celebrate Currency Adoption 5 comments