June 14, 2021
Anyway, my goal for this week: pushing out some customer portal changes! My goal for the end of the week is to allow all premium subscribers to pause, upgrade, and downgrade their subscriptions: mostly this means a lot of transactional emails and web hook unit tests left to write.
I did it!
And, uh, not too much else. It was a week of emails (things are still fairly downbeat, but it happened to be a particularly voluminous week, the kind where the raw count is static but the “amount of thinking per email” spiked up), setting up a new laptop (I love my Mac mini to death, I really do, but the M1 MacBook Air feels almost comically performant in comparison. I bought it on a lark knowing that it was hard to justify, and yet I think I’ll be spending more time coding on it than on my Mac mini!), getting some nice press (I landed a fairly meaty mention in the L.A. Times, which is the kind of thing that I don’t know actually impacts me in a serious way besides SEO juice but certainly feels good!).
Sure, I pushed a bunch of minor fixes: some pinning tests for behavior that I had to hotfix in the prior week (a common failure case: someone reports a bug that I know can be fixed in five minutes and regression-tested in ten, so I short-circuit the former and leave a note for myself to handle the latter later on in the week), and I finally tracked down why my Sentry pricing was going haywire (a noisy and harmless error was firing on every single request, which even filtered down to 10% of its volume made me max out my “event quota”).
Still, it didn’t feel like a consequential week despite pushing out the customer portal changes. This is likely because I did not announce my customer portal changes at all. In fact, I’ve done very little marketing in the past three months. This is probably the right move: I was so overwhelmed with incoming demand and interest in March that throwing more gasoline on the fire seemed foolish and painful. But it feels like… I don’t know. I worry about giving off the impression of abandonware when the blog hasn’t been updated in months. I need some sort of personal trainer to make sure I at least push a couple obligatory posts, announce new features, that sort of thing. (As I write this paragraph, I write a todo: “write blog post for customer portal”.)
This week’s big push will be getting back to the cost reduction work that I mentioned (and subsequently dropped) a few weeks back. Mailgun’s monthly spend is threatening $1,000 — which to be honest is kind of a hilarious hallmark, and one that I’m oddly proud of, but it’s time to divert that spend into either AWS (which I don’t love, but is certainly cheaper) or Postmark (which I do love). Similarly, Heroku’s hosted Redis is $120 compared to the …$8 on AWS, and there are a few other low-hanging fruit in that vein. Improving efficiency and lowering spend is not something that has been historically that exciting for me, but reorienting how I think about Buttondown’s income towards money that I can throw back into the business (either by bringing on part-time help or through advertising) becomes a lot more appealing.