May 6, 2019
Preamble.
I’d be remiss if I didn’t mention that it’s absolutely wild to me that, as of this writing, a hair shy of fifty folks are spending money to read this. Buttondown is definitely at the “this is an actual tool that people tend to enjoy using” phase of the product lifecycle, but every so often it blows my mind anew that people are giving me money over the internet — this is no less vivid today than sixteen months back with my first production Stripe charge from a stranger.
I’ve written a couple episodes of this before, in order to get into the habit of it, but I haven’t quite settled on a habit or a voice. I want to write a little more earnest (re: less marketing-y) than the Buttondown blog itself, but I’m not sure what formatting structure I’ll settle on. So, uh, get ready for a little flux.
Money.
Buttondown has two costs that bother me — Mailgun’s email validation (~$350/mo) and Clearbit’s subscriber enrichment ($200/mo). These two alone take up half of my expenses.
So I’m trying to zero them out in May! This is largely an experiment; I rolled my own email validation and I reached out to the few folks who use subscriber enrichment to move them onto a pass-through costs model.
If this works (the main risk is that there’s some large gap in how I’m doing email address validation), this should drastically change my margins, which would be neat. Buttondown is profitable already, and now it would be, uh, more so — specifically, it would give me a decent cushion to play around with some paid acquisition channels (read: burn a hundred bucks or so on AdWords).
Dogfooding.
I forget that the tech world has it’s own rats’ nest of jargon that is alien to polite society, and so when I say that Weeknotes is a good opportunity for me to dogfood a couple pieces of Buttondown I mean that I’m eating my own dogfood — using my own product, seeing it through a user’s eyes.
Specifically, Weeknotes lets me test two things in tandem:
- Paid subscriptions. (This is live, but in beta.)
- Multiple newsletters. (This is a mere glimmer in my eye.)
It took me a while to have the confidence to launch paid subscriptions, and while nothing has exploded (you all are proof of that!) there are so many rusty bits:
- No way to view archives, because paid subscribers don’t really have an auth model.
- The analytics story is ill-defined.
- The filtering & conversion is weird.
- And so on.
Dogfooding gives me the intense sensation of “oh god, this is terrible”, which is honestly a great feeling. Buttondown specifically grew because I built it out as a thing I wanted to use, first and foremost — it is empowering to notice all of these flaws, large and small, and then to be able to make them better!
The to-do list.
I wrote last week that I wanted to do three things:
- May updates. (Done!)
- DMARC-based warning system. (Not even started!)
- Make non-trivial progress on migrating
Subscriber.user
toSubscriber.newsletter
. (Also not even started!)
One out of three is… a bad look. This is mostly because I spent an inordinate amount of time doing Real World things; the past few weeks I’ve lost my evening routine of product work, instead falling into the syncopated rhythm of evenings spent in Gmail. I try (and fail) not to beat myself too much up on this — the balance between “incoming requests” and “my ability to execute” has definitely tipped irreversibly towards the former in 2019, and I’m happy that even if I’m not hitting my goals I’m working on the right things (see: self-serve email domains, which will cut out around a third of my customer service requests.)
This coming week, I’m gonna go with a little bit different of a goal for myself: a seven-day streak of two hours on serious development. It’s still the early part of the month, where I’m less worried about getting some nice juicy deliverables out of the door, so this seems like a good opportunity to be focused less on outcome and more on process.
(Those fourteen hours will hopefully be spent on bug-slaying and paying down dividends. There are so many dividends in waiting.)