Aug. 21, 2019, 1 a.m.
Sorry for the hiatus last week. I bought a house. And moved into the house. This was delightful, and stressful, and I learned that I own entirely too many Magic Keyboards and 30-pin charges. (And entirely the right amount of books, which happens to be a quantity infeasible for moving.)
Being offline most of the week and weekend was tough, to be honest; it is not the most exciting thing to open a weeknote on, but I had two churns from fairly excited/well-fitting users that amounted to “you’ve been unresponsive for two days while I’m having a serious issue, boy bye”. This is fair! And it’s a bummer, and a systemic flaw — one that I know I harp on.
Still, in the cosmic scale of things, I’d rather have a house than $60 MRR — but that doesn’t mean I shouldn’t think about building networks that allow both.
I wrote two weeks ago about migrating the blog from Ghost to Jekyll so I can iterate and spit out content faster, and that got the ol’ brain-wheels turning: what are the changes I need to make to actually build a decent content engine on Buttondown? My thought process went something like this:
blog.buttondown.email
.buttondown.email/newsletters-for-writers
or whatever.buttondown.email
is served entirely by the Vue/Django monolith that powers the Buttondown app itself.buttondown.email
be the marketing site, and then move app.buttondown.email
to be the app itself.buttondown.email
is the external face of the newsletter for folks; buttondown.email/jmduke
redirects to my newsletter.jmduke.buttondown.email
?This is going to be the most substantial change to the codebase since adding support for multiple newsletters (that had a larger technical surface area, in terms of lines of code, but this has a larger product surface area.). But I think it’ll give me a lot of things I want: a better marketing platform, nicer subdomains, and better deliverability (sending from buttondown.email
subdomains should be a net positive according to the folks at Mailgun I’ve been chatting with.)
Because I’m a sucker for awful names, of course, I have an awful name for this: Project Agora. Here’s a very flimsy task breakdown: