If you want a sure-fire trick to get disengaged users back into your application, try this: send each user more than 100 emails on Sunday night.
Next Release is tightly coupled with GitHub and most of our application works in the background, we often don’t get a chance to engage regularly with users, since they rarely re-open the app.
We decided to ship a basic weekly summary email, just like every other SaaS company provides to let our users know about the work we did on their behalf in the past week.
Narrator: Things didn’t go as planned.
After wrapping up a simple template and background jobs to generate the emails, I promptly forgot all about this task.
I woke up Monday morning and found 150+ emails in my inbox, a pile of pending intercom messages, and braced myself for a massive amount of unsubscribe messages Slack. Not a great morning.
Looking at the code, I quickly realized what was wrong (more soon), wrote a blog post explaining the issue and recorded a quick apology video for users who logged in to see what was going wrong.
After an exhaustive search, I got to the bottom of this issue. Our backend is a Python app and I messed up the indentation of my call that sends the email after batching them.
I ended up sending an email N times to every user for N users in the block of user accounts. Fun times.
It was warm and sunny last week and I’ve been sick of being stuck in my basement office, so I decided to just head outside to write the code for this relatively easy project. Then I decided to refactor some of the code I wrote so I could include some basic tests (which passed!), and I messed things up as I was copying/pasting the code around.
A mistake like this would have likely put me in a coma from stress, embarrassment, and panic several years ago.
As we’ve seen protestors fill the streets to standup to yet another senseless killing of a black man at the hands of the police and have witnessed a novel infect millions and kill hundreds of thousands worldwide, the impact of issues like these becomes more clearly into focus.
This was an embarrassing, preventable screw-up, but it’s one that just hurt our email delivery, caused an annoyance for a few customers, but in the broader world, not a big deal.
And only 2 customers canceled.