Originally posted on Indie Hackers.
Two months ago, I received an offer to buy my SaaS (name: Black Magic) at $40,000, all cash.
Black Magic was about $322 MRR at the time. That was > 10x ARR – a very good deal.
For various reasons, I declined the offer.
Now, 60 days later, Black Magic is at $2,164 MRR.
Today, I want to share with you how I did it.
I can't guarantee that you can do the same with your SaaS, but I hope this can give you some ideas, or simply inspire you to keep going.
A quick background
Previously, Black Magic's main feature was helping people "decorate" their profile pic and banner in a special way. For example, my profile pic shows a progress bar that update itself automatically:
There were customers, but mostly for fun. I was not solving any major pain points. It was more like a device to help me grow my Twitter account.
As you can see in the MRR chart above, the product was stuck at ~$330 MRR for a very long time.
The idea phase
I have always wanted to make Black Magic become a "real/helpful" product, but I didn't know how.
I have a lot of ideas on many stuff I want to improve on Twitter here and there, but I couldn't find the right way to combine them all together deliver them (a SaaS?/website?/app?/bot?).
The most 2 important ideas I want to add to Black Magic:
- View past interactions from a person with me: have they liked/replied to my tweets before? How long did they follow me? Etc.
- View a tweet performance over time: how my tweet impression change in its entire lifetime? How did a like/retweet from someone with 100K followers affect my tweet's reach? (Yes, I'm a data nerd, and I want to see a lot of data).
And then, many smaller stuff like: add notes to a profile, set reminder to a tweet, tweet categories, some analytics, etc.
I have a very long wishlist of things I want to improve on Twitter. I just didn't know in what form should I deliver them.
I pivoted the product
One day I saw Twemex.app for the first time, it gave me the idea of adding a sidebar to the Twitter Web (shoutout to the author @geoffreylitt).
I immediately know how to deliver all of my ideas: it will be a browser extension. It just makes sense!
I didn't want to build a new Twitter web client, I just want to improve the existing one.
Everything must happen inside the sidebar, I didn't want to touch any of the existing UI components from Twitter, so that my extension won't be affected when Twitter change their code.
Later, I can move the whole extension to a separate website or app, if I really have to.
Over the next week, I drafted an MVP for the extension, then use it for myself for a while.
I really like it!
I built in public
The MVP only had 1 or 2 features, I released it as a beta version, then invited some of my Twitter friends to try it. They liked it a lot!
I shared some small demos on Twitter, people get excited. It helped gain some traction for Black Magic as a whole. Some people started asking to pay early.
I started an invite-only beta program, where people can try the extension free of charge, and invite their friends to try it.
Then, I ask people for their feedback, make improvements, and add more features.
For a few weeks straight, I added new features almost every day. My entire day was like:
- Morning: add a feature
- Afternoon: release the feature, tweet about it, then invite new beta users
- Night: talk with beta users, collect feedback/suggestions, fix bugs
- Repeat the next day.
Almost every tweet I made about Black Magic went popular. Every feature I publish became a marketing tweet.
I asked people to drop a "👋" to my tweet to get an invite code, it helped me to keep track of who to send the invite codes, and also helped with the reach as well.
During that time, everyday, I DM'ed ~20 people, gained ~100 new followers, and marketing the product at the same time.
I offered the product for free (while in beta)
As mentioned, I let people use the product for free while it's in beta. There are some pros and cons to it:
- Gained a lot of free users
- Collected a lot of feedback/suggestions
- Many of them converted to paid customers later
- Many of them leave a review on the extension store
- I got to watch the system reacts to a slowly increasing traffic and usages, which is very helpful to identify and fix problems early.
- I have a perfect excuse if there is an embarrassing bug or the whole product just goes offline (didn't happen, luckily).
- Sometimes, I had to spend too much time talking with customers. I want to talk to customers, but also want to focus and build.
- To serve the huge amount of free users, I had to upgrade my server 3 times, migrated it to AWS, and burnd my free credits like crazy.
As for the beta testers:
- They can use the product for free
- They can provide early feedback, involved in the idea/planning phase, and help shape the product roadmap in a way that benefit them the most!
I think this is a win-win for everyone!
I ended up with about 920 beta testers. The whole testing phase lasts ~60 days.
To thank them, I offered an early-bird discount, ~33% OFF lifetime subscription discount.
For those who didn't buy, I added an additional 24 days of using the product for free, all premium features unlocked.
My unfair advantages
It's unfair not to talk about my unfair advantages.
When I started the beta, I had ~14K followers or so. It definitely helped the momentum and the reach of my tweets. That's my first advantage.
My 2nd advantage: over the past 6 months, I gained a lot of free users for Black Magic, thanks to the fun-free stuff I made with Black Magic (profile progress bar, real-time banner, etc.).
To be exact, I had ~7,000 registered free accounts at the time. I think this is also a good strategy to get free users first, then offer paid product later.
I think many of them converted. I didn't have time to set up the conversion tracking so I can't know for sure.
For context, 8 months ago, I had ~200 Twitter followers, and 0 customers. If you want to learn how I managed to build these unfair advantages for myself, I'll write about it later in my personal newsletter.
Finally, my 3rd unfair advantage: I have been writing code for 13 years, 7 of those years, I freelanced, worked for startups, outsourcing companies, enterprises professionally.
Frontend, backend, devops, Android, iOS, desktop apps, games,... I have done it all, either at work, or on my past side projects.
To me, coding is the easy part. That's why I was able to ship features so fast.
Not everyone has these advantages like me, that's why I call them "unfair". I think unfair advantages is a crucial part of getting success! You should also find (or build) your own unfair advantages today!
But I'm not done yet...
Today, I launch on Product Hunt
Yes, it's happening. Right now. The beta ends today Dec 16th, 2021.
If you have a minute, I really appreciate if you can drop by and show your love! ❤️
In conclusion, here are some numbers from the beta:
- 📆 60 days of beta testing
- 🧪 920 invite-only beta users
- 👥 1,660 active users
- 🤝 248 paid users
- 💵 $2,164 MRR
I'm hoping this launch will push the MRR a bit higher, but I set no expectation (it's a recipe for disappointment and stress 😂)
To be continued
I enjoy sharing my story here on Indie Hackers!
If you like this post, please join me on Product Hunt, I am very grateful to have your support! 🙏🙏🙏
Here is the link.
Thank you for reading! Until next time! 👊
👋 Like what you read here?
Hello there, I'm Tony Dinh.
I quit my high paying job to work on my side projects with a mission to make a living from my apps and live an independent life. 🌴
- 🛠️ I built a macOS app for developers: DevUtils.app
- 🎩 I built a browser extension for Twitter: BlackMagic.so
- 🏖️ Read my story → https://newsletter.tonydinh.com/
- 💻 Everything about me → https://tonydinh.com
❤️ Thanks for reading!