StagingApp, the Slack bot that simplifies staging environment management right from Slack, began its journey as a side hustle. Over time, its user base grew steadily. As an indie hacker who enjoyed a full-time job, I hadn't focused on monetizing the app and had kept it free. That all changed one day when the app suddenly stopped working.
My inbox was flooded with emails from concerned users, all wondering why the app had become unresponsive. Upon inspecting the application logs, I encountered every developer's worst nightmare: the database had vanished.
A few weeks prior, I had received an email from Heroku, notifying me of the discontinuation of their free plans. Not giving it much thought since I wasn't using the free tier, I missed the crucial detail that the free Postgres plugin I relied on was also being phased out. It was a serious setback.
With the database gone, I had no choice but to submit a support ticket and hope for the best – a daunting prospect. After some back-and-forth, the support team initiated a backup. At first, I breathed a sigh of relief, particularly since it was a Friday, and Heroku's support doesn't operate on weekends. Unfortunately, the initial backup process failed, and I received no response until Monday, when they restarted the backup, and everything was restored.
The nearly three-day downtime left me feeling ashamed. I had anticipated anger from my users, but instead, I was greeted with a wave of positive messages, some even suggesting I introduce a paid plan or set up a Patreon.
Determined not to repeat such an incident, I implemented reliability improvements and began investing in essential services. It was then that I made a critical decision: I would either charge for the service or discontinue the app. To my surprise, within the first month of announcing paid plans with zero advertising, many users converted to paying customers. Today, the app generates over $370 USD in monthly recurring revenue. It might not be a fortune, but it certainly adds to my mostly-passive income.
In conclusion, the lesson learned is clear: Charge your customers. If you provide a valuable service, they will be willing to pay for it. In retrospect, I believe Heroku's decision to discontinue free plans was a wise move. SaaS should not be entirely free; creators deserve compensation to enhance their businesses.
If you're curious to see StagingApp, you can check it out at www.getstagingapp.com.
Note: I used ChatGPT for helping me refine and enhance this blog post (mostly fixing grammar issues).
Lessons learned are the best. :)
Pedro