April 28, 2020, 3:38 a.m.

April 27, 2020

Weeknotes from Buttondown

First: hello from my new iPad keyboard. I’ll spare you the requisite bloviating about yet another piece of Apple hardware, but I quite like this one, and it means I can be a little more efficient shifting more and more non-development work away from my desktop. Notion works well; Mail works well; Zendesk works well. And thanks to Juno, I can even do some limited diagnostics/data exploration work!

Here’s a thing that I’ve known to be true for a while but have found to be particularly true in the past few weeks, as all element of my life bleed together: two hours is not the same thing as four chunks of thirty minutes.

…Mm, let me take a step back.

Buttondown’s done quite well in the past two months. I haven’t actually done that much financial analysis, but MRR is out of its six-month trough; new users are signing up in droves, and outbound volume is very high.

Happily, this actually hasn’t translated into that much support burden. The investment in a really content-heavy FAQ has paid dividends, I think: I don’t find myself repeating answers any more, which is really great for my mental sanity.

Still, I’ve felt a bit of the usual timebox crunch lately: there are only so many hours in the day, and so many things to do, so what really needs to get done?

I took a step back, looked at my roadmap, and asked myself what the actually important things are. Two things jumped out:

  1. The most common support request I get is “your system is telling me my email is invalid but it’s not”, which is a bad user experience and annoying.
  2. Mailgun costs a shit-ton of money relative to SES and I can save a couple hundred bucks a month by migrating some volume over.

(There are a long tail of other issues, too, that are important and I’m excited to work on: internationalization, teams support, etc. But those felt more like cosplay choices than anything serious. Yes, I need to support different languages and teams, but that’s just going to increase my inbound burden in the short term.)

So I looked at the first thing and said, hm, this is really only a couple hundred lines of code to fix altogether. It’s the size of task that I never jump on at the end of the day when I just want a quick win, but it certainly wouldn’t take me an entire day or week to hammer out.

And I did what I rarely do: I just threw everything on Do Not Disturb and wrote the critical path code for two hours. It’s shipped now.

I think I’m bad at medium-sized tasks: not quite bite-sized, but not large enough that I get into the whole “right way to do things” flow of baking out a feature branch and breaking down the interface and all that.

(I’ve also started working on SES support! This has gone…also somewhat painlessly, but it’s a certified Big Task. More on that — replete with some truly terrifying code samples — next week.)

You just read issue #29 of Weeknotes from Buttondown. You can also browse the full archives of this newsletter.

Share on Facebook Share on Twitter Share via email
Brought to you by Buttondown, the easiest way to start and grow your newsletter.