How I Launched a Viral Online Challenge And Grow My App Users by 600%
3 months ago, I launched a #30DaysOpenSource learning challenge in depths.so.
If you search this hashtag on X, you will see all the posts mentioning us.
This campaign went viral and brought us:
- 4k waitlist sign ups in 5 days
- 1M social media impression
- >600% user growth.
The best part is: we spent only 10 days from idea to launch.
Here’s how.
TL;DR:
- you only had 3 jobs: design, develop, distribute
- do things that don’t scale for speedy building
- waitlist to create scarcity
- invite code and UGC for virality
- build partnership
Continue for a full story breakdown, starting from Day 1 where we had the idea —
We had the idea first on 20 Sep, because of an upcoming festival called ‘Hacktoberfest’.
FYI, Depths is a learning resource sharing platform for developers. And ‘Hacktoberfest’ is an annual event to promote Open Source contribution.
We thought: how can leverage on this event to promote our platform?
We decided to make a learning challenge to help people get into open source.
So, what kind of learning challenge?
A learning challenge that last for 30 days. We will curate a roadmap of 60 Open Source learning resources.
Participants will have to read 2 resources per day for 30 days straight.
If they can complete the challenge, they will win a free swag.
The idea and scope is clear now.
The hardest part — execution.
We had very limited time — only 10 days to make the roadmap, design and build the feature (we hadn’t organized any challenge before, so we need to code a page for it), come up with marketing plan…
Uh oh.
We had a rough plan here:
1/ Curate the full roadmap by 27 Sep.
2/ Design the feature and build a landing page from 20 to 25 Sep.
3/ Do a pre-launch on 25 Sep (5 days before the challenge kickoff) with a waitlist landing page.
4/ Build the feature from 25 to 30 Sep.
1/ Curate the full roadmap by 27 Sep.
This is the most important part, because the content quality will make or break the challenge experience.
I reach out immediately to friends with open source experience and ask them to be part of this event.
They said yes!
Now on this part, there’s only two jobs:
1. Design a roadmap with different OSS learning topic for 30 days.
2. Insert 2 resources with notes for each day.
We had a meeting to discuss the roadmap, then each of us will handle 6 days of content.
We nailed this part on time. 👏
2/ Design the feature and build a landing page from 20 to 25 Sep.
The scope is clear: design the UI ASAP and handover to my co-founder for development. Then make the landing page with a Framer template.
Speed is king. I first build a rough wireframe like this:
To speed up the UI building ASAP, the strategy is to reuse as much UI component as possible.
In Depths we already have a ‘card’ UI which represents a resource, so I’m gonna reuse it.
The design of the challenge page evolved like this:
The UI is pretty much ready.
I spent 2 days building the UI. Now I only had 3 days left to build a landing page from scratch.
It sounds impossible — but thanks to Framer they got great template to use.
I spent $29 to buy this one and it works perfectly.
Another sleepless night, all the design are done.
Next —
3/ Do a pre launch on 25 Sep (5 days before the challenge kickoff).
Virality is the best channel for this campaign. So all the marketing effort are oriented to one thing:
Getting viral.
Easier said than done right?
Here’s the 5-step playbook:
1/ Pre-launch the landing page on X (we had ~500 followers at that time)
2/ On the post, mention that this event is invite-only and if you retweet, we will DM you an invite code.
3/ With the code, you can join the waitlist by filling a Typeform.
4/ On the next day, we will send you an email to say that you have pre-enrolled successfully.
5/ In the email, you will have 2 extra invite codes to share with your friends, and if you repost the enrolment on X, we will give you a ‘little gift’.
Did it worked?
Yes. It worked so well.
The flywheel began.
We see over 500 different posts mentioning us and tagging #30DaysOpenSource every single day.
You might be thinking: what SaaS did you used for the invite code & waitlist automation?
The answer is: we didn’t use any. I did it all manually.
Yeah, why? 😅
There’s SaaS on the market like Zootools and Get Waitlist that allows you to build similar campaign, but I don’t have the time to fully learn and adopt it.
What I did is:
1/ Use numbergenerator.org to generate 50 different sets of invite code on Excel (yes, 50 only and we send to 5000 sign-ups randomly, after all they don’t know)
2/ For everyone who retweeted the invite code giveaway post on X, manually DM them with the invite code
3/ Then everyday at 4:30pm HKT, export the typeform submission and send an enrolment confirmation email to people with a valid invite code.
4/ If people joined waitlist without an invite code (which account for 40% of the typeform submission), send them an email later saying ‘we’re doing a invite code giveaway on X, repost to get one’!
Repeat this cycle until 30 Sep, we already had 3k people pre-enrolled to the challenge.
For the development work, my co-founder Peter handled it perfectly and shipped right before the deadline.
But it’s not even the end of the campaign.
We had the biggest virality after kickoff — from 1 Oct to 5 Oct.
Because of UGC (user-generated content).
Remember how the challenge works?
You complete 2 resources everyday, for 30 days straight.
Each resource usually takes 10 mins to finish, so it’s not easy.
When people finished a day, we prepared a social content for them to share their wins.
Completing each day is not easy, so people are willing to share their Ws with others to keep motivated.
So, my whole timeline was full of #30DaysOpenSource throughout the October.
Other than that, I send our daily reminder through email and Discord announcement (we had a DC server) to remind participants to take on that day.
This comes to an unique design of the challenge: because the resources for each day is only unlocked at 10AM HKT that day.
Thanks for reading the whole thread till here. That’s most of the learnings I have to shared about this campaign.
Throughout the preparation period (20 Sep — 30 Sep), there’s so many moments I thought about giving up, especially during the design sprint because it’s so damn intense and stressful.
But seeing everyone loving the challenge, I’m so glad I didn’t quit.
For additional tools and resource ➡️ Visit StartupStash
Zendesk is giving $75,000 in credits and perks for startups! ➡️ Apply Now!
Thanks to everyone who joined the challenge and especially friends who helped us curate this challenge @BennyKokMusic @HafeezHaqq @RajdeepS019 @debajyoti14_ and Peter!