Martin Joo

« back published by @mmartin_joo on March 13, 2022

How I Launched a $10 Book for 2000 Followers and Made $2000

On January 5th 2022 I launched my first eBook “Test-Driven APIs with Laravel and Pest”. In this article I want to share the whole journey with numbers and everything.

The Numbers

Here you can see all of my launch numbers. I launched the book at the beginning of January, and these numbers were current at the beginning of February.

  • Twitter followers before the launch: ~1900
  • Email subscribers before the launch: 83 (yes, it’s actually 83)
  • Sales volume: 231
  • Revenue: $2373
  • Twitter followers after the launch: ~2700
  • Email subscribers after the launch: 479
Test-Driven Development with Laravel and Pest

Check it out here

The Goals

My goal was not to maximize revenue or make a life-changing amount or quit my daily job. No, I wanted to gain credibility in my niche, I wanted to put my name out there. I was curious if I was able to launch a product with a small audience.

My original expectation was to sell 100 copies and make $1000 in a month, but somehow I was able to double that in 2 weeks.

In this article I want to show you what I did, so you can do it better.

The Idea

2021 October

I always loved teaching people, and I enjoy it when they come to me with questions. I was working as a product manager, now I’m labeled as a senior software developer (whatever it means), so I constantly help people in my day job. One of my biggest advantages is that I’m a TDD fanboy. If you’re not a developer it’s a software development approach where we write a lot of tests for the product. I’ve worked with multiple teams and starting TDD was a pain point for anyone basically.

In October I quit my previous job and joined a startup. Same story: they don’t really write tests. They don’t have experience in it, and it’s a struggle to start.

The idea was born: “Okay, developers struggle to start with TDD. I know the topic, I love teaching, I don’t want to repeat myself 1000 times. Let’s write a freaking book.”

Fortunately, I watched Adam Wathan’s video on how to nail your first product launch, so I knew I have to build an audience first.

The Twitter Story

2021 November

So on November 3rd, I registered to Twitter. My plan was simple: tweet about Laravel and PHP 3 times every day. Just constantly give value for free.

It went well.

2021, November Test-Driven Development with Laravel and Pest 2021, December Test-Driven Development with Laravel and Pest 2022, January Test-Driven Development with Laravel and Pest

Huge thanks to:

I can't even tell you how much I owe them... Amazing people!

The Plan

2021 November

My plan was simple:

  • Hit 1000 followers on Twitter
  • Write a short book in two weeks
  • Charge $10
  • Launch

Why 1000 followers? I don’t know exactly but it seemed so magical to have 1000 followers, and at the time (with 200 or 300 followers) it seemed like I have 3-4 months until then (as it turned out I was wrong, I hit this number around December 15th).

Why 2 weeks? Because that’s what I heard from @dvassallo. It seemed very hard but possible. So challenge accepted!

Why $10? It just sounds good for your first product. And I also liked this idea: $10 x 100 sales = $1000 revenue. It seems achievable and it was a huge motivation for me.

The Moment

2021 December

On December 18th I had ~600 followers, and I realized that Taylor Otwell is one of them. Taylor is the creator of the popular PHP framework called Laravel. He’s a very cool guy and has ~100k followers. He’s a huge account on tech Twitter. I’m a Laravel developer, and 97% of the time I tweet about Laravel, so it was a huge moment for me...

I thought it’s a good idea to tweet about the fact that he follows me, so I posted this early in the morning.

I didn’t have any expectations... It earned 30000 impressions and 1800 profile visits. Around 2 pm I hit 1000 followers. I was shocked. But then I thought: “Let’s write a book”.

The Execution

2021 December

So on the same day at 4:30 pm I announced that I started to work on a book.

As you can see I didn’t have the title or anything like that. I just outlined the sample application I wanted to build in the book. It earned 17000 impressions, 167 likes. So I thought people would like to read it.

So I started the book on 18th December and I finished it on 26th December. I was able to write it in one week, mainly because this week was xmass holiday so I had a lot of time.

What tools did I use?

  • Typora: to write and format the book in markdown
  • Canva: to design the cover
  • Smartmockups: to create 3d book images from the cover
  • Gumroad: to sell the book

Earlier in December, I launched a blog and I had ~20 articles ready to publish. So while I was writing the book I published some of them and also shared on Twitter.

On the blog, I collected e-mail addresses.

After I finished the book I tweeted that I’ll choose some people from the replies who gets my book for free.

It had 110+ replies and I sent out 10 copies. I also sent out other copies:

  • To friends and colleague
  • To Twitter friends

I sent out at least ~30 copies for free. Don’t even think about the money! Just send your book to people.

I also shared the color theme I came up with to use in the code examples.

Meanwhile, people who got the book for free started to post positive reviews. I retweeted all of them. So basically I created a little buzz around my book from 18th December through 31st December.

The Launch

The first week of January 2022

At this point everything was ready. I created a separate Gumroad product for the first 24 pages of my book which can be downloaded for free.

On 3rd January I published a thread about API design (related to the book) and I put the free sample chapter as a CTA.

I also posted the introduction from the book and asked if they like it.

Another related blog post went out on 4th January.

These two posts got me ~60 downloads (with e-mail addresses) and $50 revenue! Yaaaay I made my first $ without actually launching the product. In the sample chapter there was a link to the book and it was already published at that time.

As you can see I tweeted a lot about my upcoming book. But don’t get it wrong! I tweeted 3 times as much non-promotional content!

By the way, a lot of these promotional tweets come from @shrutibalasa’s launch. Huge thanks to you!

On 5th January 8:47 am (launch day) I tweeted this.

So I announced that I will announce my book soon. I got this technique from Adam Wathan.

And finally at 9:02 am the actual launch tweet.

At this point, I had only 83 emails on my list (see the mistakes later) but I sent a launch email also and offered 30% off to everyone. This was on Wednesday. Since I made a separate product for the sample chapter, I got an email per download. So on Thursday, I sent another e-mail to 143 recipients this time (everyone who hasn’t bought the book yet). On Friday I sent out the last launch discount e-mail to 157 recipients.

Stats:

  • Launch day:
    • Recipients: 83
    • Open rate: 67%
    • Click rate: 42%
  • Second day:
    • Recipients: 143
    • Open rate: 56%
    • Click rate: 11%
  • Third day:
    • Recipients: 157
    • Open rate: 59%
    • Click rate: 22%

The last e-mail has better rates than the second one, I guess because it was the last day to get 30% off. I sold 26 copies thanks to these emails. 54% of them were sold on Friday (the last day of the launch).

The Graph

Test-Driven Development with Laravel and Pest

I also sold 20 copies directly through PayPal to Laravel Giveaway. The graph comes from Gumroad so you cannot see that amount but here’s the giveaway tweet.

The 1300 sales volume includes every sample chapter downloads and other freebies as well. The real volume is 230.

Nowadays (March 10):

Test-Driven Development with Laravel and Pest

So it continues to sell at a low but steady rate, which is great.

After the Launch

As you can see on the graph the sales of an info product decrease significantly after the launch. Especially when you're a small account like me. What are my plans?

Teaching with quality content

  • Continue to post high-quality tweets and blog posts about PHP and Laravel.
  • Publishing freebies. I already published two 30+ pages free PDFs. They were downloaded 700+ times. I’ll continue doing that.

E-mail sequence

  • Now I have 1000 e-mail addresses. Every new subscriber is added to a 21-day sequence with 10 e-mails. There are 9 high-quality educational e-mails and 1 sale e-mail with a discount at the end. I think it’s a very good e-mail so I have high expectations of the conversion rate.
  • Grow my e-mail list mainly with blog posts and freebies.

Discounts to sell more units

  • I want to promote a 50% discount in the near future before I raise the price a little bit. This should add some urgency to buy it at a very low price.
  • I want to experiment with a flash sale. I’m thinking something like: $1 for the next 1 hour. We’ll see how it goes.
  • My main focus with these discounts is to sell as many units as possible. Not to bring more money. In fact, I’m not that interested in money with this project. I think it’s far more valuable to gain credibility in your niche. That’s my goal.

And of course: grow my Twitter audience. The more followers I have the more people will see my book(s).

The mistakes

#1 No e-mail list

The most important one: I didn’t have an e-mail list before the launch. This is crucial. Now I learned that if you want to launch a product you need to build an e-mail list before the product exists.

My launch e-mails had a 16% conversion rate. Now I have ~500 e-mail addresses and strong plans to make it ~2000. Just imagine you launch a new ~$25 product for 2000 people via e-mail with a 15% conversion rate after they know you and read your books, blog posts, and other freebies.

#2 No landing page

I didn’t set up a landing page (with an e-mail opt-in form) to promote my book. This has to be your first step if you’re working on a product. This is the place where you’re collecting e-mail addresses.

#3 I sent out free copies too late

I sent out free copies on 30th December when it was 100% ready. Only 6 days before the launch. I think it was a mistake because people didn’t have enough time to actually read the book and tweet a review before/around the launch.

#4 Launch week was too short

I closed the original launch discount after 3 days. And to be honest, I have no idea why. It could have been at least a whole week, or even two. I think it would have brought more sales.

And a lot more, but I don’t recognize them yet... After all, I consider it as a successful launch:

  • People are loving the book. It helps them to start with TDD and Pest.
  • I accomplished my goals: I actually created a real product, and gained some credibility in my niche.

The Next Project

I loved the whole process! It was the most random and crazy 3 months of my life. I want more of it. Now I’m working on something really big called “Domain-Driven Design with Laravel”. It’s gonna be a whole course with a 200+ pages book, videos (I hope), case studies and so on.

It’s coming in May 2022 (once again, I hope), but this time I have a landing page.

Check it out here.

The Big Lie

I was lying to you this whole time. In fact, Test-Driven APIs with Laravel and Pest was not my first book. I launched another one back in October 2021 with these numbers:

  • Twitter followers: 0
  • Email subscribers: 0
  • Sales volume: 4
  • Lifetime revenue: $80
  • Twitter followers after the launch: 0
  • Email subscribers after the launch: 4

And this book was not my first product. Before that $80 launch I was working on my $1B SaaS idea:

  • Total time spent: ~1.5 years
  • Number of features: 872
  • Number of users: 0
  • Date of launch: never
  • Number of microservices: ~15
  • Number of docker containers: 40+
  • Number of AWS servers before the first user: ~8
  • Test coverage: 92%

It’s a very great story but that’s for another blog post. For now, let’s summarize it quickly: you need an audience if you want to launch something. I learned this the hard way as many others before me, so hopefully, it’s gonna be easier for you :)

If you’d like to follow my journey I share everything on Twitter.

Domain-Driven Design with Laravel