Things That Didn't Kill My App

The day SongRender launched, there was a bug that prevented files from uploading. I found out when my first paying customer’s videos failed to render. Since the files had never left his computer, there was no way for me to fix it for him. I had to ask him to email the files to me so I could manually render his videos. (He was very gracious).

Another time, I messed up the Netlify configuration for serving the website, so visitors were greeted by a blank white trendy minimalist page. To make matters worse, I had also misconfigured the uptime checker. It took a full day for me to realize the site was down.

A friend mentioned that they couldn’t enter their credit card information. I looked into it and the card form had been broken for at least a week. Anyone who tried to pay me during that time just saw an angry red error.

Almost a year after I released SongRender, I decided to launch it on Product Hunt. The response was middling: SongRender hovered just under the front page for most of the day. The wave of traffic, which looked more like a moderate swell than a raging tsunami, resulted in a single sale.

An overnight DigitalOcean outage caused videos to queue up while I was asleep. I woke up to a bunch of support messages asking why things were taking so long. People had been waiting for their videos to render for hours.


Each setback felt so acute at the time. Like SongRender would never recover, and I might as well have just given up right then. It’s natural to feel that way. Yet months later, SongRender is still growing — and the setbacks barely register. I don’t even think about them. I had to wrack my brain to come up with that list.

That goes for the good stuff, too: the exciting features and the record sales days. The passage of time sands it all down.

Distilling almost two years of running this thing into a single lesson is hard, but here’s my shot: the most important factor in SongRender’s success has been my consistent, incremental effort to grow it.

The small feature that makes the app a little bit better. The support email that helps someone who can’t figure it out. The bug fix that solves their problem for good. The blog post that lets just a few more people know that SongRender exists.

Each of these has a tiny, almost negligible impact. But over time, they become a powerful compounding force. SongRender isn’t much better than it was yesterday, or the day before — but it’s way better than it was a year ago. And customers can tell. More people than ever are using SongRender now, and more of them find it useful enough to pay for it.

This post is a letter to a Future Me, facing something that seems devastating. A single event will not make or break our business. At least, none of the past ones did — and this one is unlikely to be the exception. Future Future Me in six more months might not even remember it at all!

Take the long view. Deal with the issue in front of you, and move forward. And keep doing it, over and over again. That’s what makes the difference.

Previous
No One Ever Got Fired for Choosing React