Yesterday, we got our 100th paying customer for Hyvor Talk. As an independent bootstrapped product, this is a huge milestone.
History of Hyvor Talk
In 2018, I was learning web development and wrote my journey on my blog. I wanted to add comments to that blog and the most popular option was Disqus. I went with it, and Disqus started showing ads on my website after a while. That was not nice. I didn't like Disqus's UI either. And, Disqus has serious privacy concerns. So, I coded my own commenting system. I didn't have any plans to make it a SaaS product - I just needed commenting functionality for my blog. However, if someone wanted, I added an option to log in and use the system on their website.
I bought the hyvor.com domain a long time ago, having the dream of creating a successful brand called "Hyvor". Even though I wasn't sure this side project was the way to build this brand, I published it as a product of Hyvor, naming it Hyvor Talk. Until 2020, it was free and a few bloggers used it. I published it on a few startup directories and got a little traction. But, the product wasn't attractive at this time. And, it was just a side project with no intention of making money from it.
Working Full-time and Adding Subscriptions
In January this year (2020), I started working full-time on Hyvor Talk with my partner, Ishini. Both of us were just 19 years old, finished school, not have much work to do. So, we could completely focus on Hyvor Talk. We added some cool features and created a better landing page.
The next thing was adding subscriptions. Here we are stuck. Paypal and Stripe don't support Sri Lanka. One option was registering the business in the US and using Stripe, which was expensive for us. However, thankfully, we found Paddle.com, which is built only for SaaS (We won't be here without Paddle!)
Then, we added two paid plans: $40/month and $1000/month (Yes, not flexible). We worked so hard on the product (almost 16-18 hours a day) in January, sharing on forums, and spamming on Facebook Groups. Nothing worked. At this time, we had zero knowledge of marketing. So, we struggled.
It's March, 1000s of Hours of Work, 0 Paid Users
It was March. We've worked endless hours of work. No paid customers. Only a few free plan users, just tested the system and went away. Maybe we were doing something wrong? Maybe the product wasn't so good? Maybe there wasn't a market for a new commenting platform? So many things came up to our minds. At this time, I was freelancing to make money and spending that on hosting, paid promotions, etc.
We made $0 in two months. In the first week of March, I asked Ishini "should we continue this?". We were like yes, no, yes, no, yes, no... However, we decided not to give up because we believed in ourselves and our product. We made more features. Changed landing pages, tried different acquisition channels, and did everything we could.
The First Paying User
March 23rd was the day! We got our first paid customer who subscribed to our $40/month plan. We celebrated this like we just won the whole world. Now, we spend $5 for hosting and earn $40 per month. Yay, profitable (kind of). This made us feel very happy. Yes, $35 cannot do much, but if you are a bootstrapper, you know how it feels.
Changing Pricing & Growth
We also made pricing more flexible in April. We added two types of plans called Premium (from $5/month) and Business (from $35/month). We got a few free plan users and paid customers. Still, we were on the edge of the sword. However, we started to see a growth in organic traffic to our articles on this blog.
Then, in May, our first employee, Rohitha, joined our team for content marketing. This had a huge impact on our growth. I could focus on the development part, Ishini did the designing and graphics, and Rohitha worked on content writing, which is a great funnel for a small team like us.
At this moment, most of the new users come through Google. Besides that, we also see a lot of users directly coming to our website, starting the trial, and subscribing to paid plans on the first day of the trial. Even I'm not sure, I think this is "word of mouth".
Removing the Free Plan
When September started, we had 53 paying customers. At this point, we were fully profitable. After a lot of discussions, we made the decision to remove the free plan for some reasons. Since the start, we thought we would remove the free plan someday. However, it happened earlier than we thought because our free plan user base started to grow faster, and converting them to paid is a huge hassle (I'll explain why it's hard to have a free plan for a pageviews-based pricing model in the future post).
We removed the free plan on September 5th. And, our growth since then is tremendous. We had 56 customers than (from March to September, 6 months). We almost doubled the number in just 2 months.
What to take from this story?
If you are reading this article, probably you are an indiehacker, or willing to be one someday. Here are some things I believe as a bootstrapper, which might be helpful for you.
Learn but don't imitate: Read other'’ stories. But, do not imitate them! Create your own story. For example, product X shared their story to 1m ARR in 2 years. You don't have to do the same thing. Do it at your own pace in your own way. Try everything and find the best way that fits you. Most importantly, don't give up.
Make decisions carefully: I turned down AppSumo promotion, and multiple investing requests just to be fully independent. Also, removing the free plan (a very hard decision) accelerated our growth. You don't have to do the same. Do what you think is correct. Don't be afraid to make hard decisions in the first couple of months.
Improve your product: Get feedback from your customers and improve the product. For example, we have a great discord community of ~100 website owners who give us feedback to improve our product. Our best features were suggested by these users.
Finally, I want to thank each of our customers for believing in us throughout this journey. Leave any questions below in the comments section.
PS: We do not disclose our MRR/ARR.