Justin Duke

Everything I got wrong with Buttondown's launch

I want to do an earnest, thorough analysis of Buttondown’s launch at some point in the future: what the traffic was like, conversion rates, et cetera. (Truth be told, I haven’t even looked at those numbers yet — there were a bunch of visitors, there were a bunch of signups, and that’s pretty much all I know because I’ve been so in the weeds with work the past week and a half.)

That’s not what this post is, though that post is coming! Instead, I wanted to talk about the question that I always wished more people talked about during launch postmortems:

Where did I mess up?

And oh man, there are so many answers:

  1. I didn’t do any automated lifecycle emails. (I thought about it, but I decided it wasn’t necessary and I could do all of the welcome emails manually.). Holy shit this was a bad idea — as soon as the registrations started rolling in I got lost in the deluge and failed to reach out very quickly. You can’t manually send hundreds of emails a day. 1
  2. I broke my analytics stack. I didn’t audit my analytics stack particularly thoroughly. I’m using FullStory and Segment. Both are great: both had a 1K events/mo hard cap. That’s fine for the short term (especially because the next price tier after “free” is non-trivial, to put it mildly), but it means I lost the lions’ share of events.
  3. I shipped some critical path bugs. Registration was straight up broken for like…. Five hours on the fourth day after launch, because I added some server-side email validation with Mailboxlayer and I was parsing the responses incorrectly.
  4. I had shitty alarming. I didn’t even know registration was broken until someone emailed me about it because my alarming was improperly configured.
  5. I didn’t have a thorough plan. I didn’t really have a rollout strategy beyond “have a friend post on HN and PH” and maybe tweet about it a little. 2. I still don’t really have a post-launch strategy beyond “put out all the fires”.

Despite all this…

Like, I’m probably only scratching the surface of stuff I could or should have done. And looking at it in numbered list format, it seems like it was a catastrophe.

But the launch went really well! It could have gone better, sure, but it could have gone much worse:

  • I have hundreds of new users.
  • They all seem reasonably happy, even with the rough edges. (It is wild to get so many positive comments.)
  • The app is in much better shape than it was two weeks ago.

I guess what I’m saying is that even though I messed up a lot, it was definitely the right time to launch and it went well: and, even if things go awry, they probably won’t go too awry.

Anyhoo, back to bugfixes.


  1. Literally, you can’t. G Suite will stop you after a certain point. [return]
  2. Thanks, Iheanyi. (Naturally, he has a newsletter.) [return]
Liked this post? You should subscribe to my newsletter and follow me on Twitter.
© 2017 Justin Duke • All rights reserved • I hope you have a nice day.