Weeknotes from Buttondown logo

Weeknotes from Buttondown

Subscribe
Archives
August 21, 2019

August 20, 2019

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.

Project Agora.

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:

  1. I want to be able to have ‘blog posts’ be on the top-level domain, not blog.buttondown.email.
  2. And I want to have ‘marketing pages’ that aren’t on the blog be served by Jekyll, too, like buttondown.email/newsletters-for-writers or whatever.
  3. But that’s impossible right now since buttondown.email is served entirely by the Vue/Django monolith that powers the Buttondown app itself.
  4. Plus, all of the ‘marketing’ pages (of which there are very few: basically just the home page, a couple comparison pages, and terms/privacy) are all powered by the monolith.
  5. Which is annoying and bad!
  6. So let’s do what everyone else does and have buttondown.email be the marketing site, and then move app.buttondown.email to be the app itself.
  7. But wait. buttondown.email is the external face of the newsletter for folks; buttondown.email/jmduke redirects to my newsletter.
  8. So I need to do the whole subdomains-for-everyone thing that I’ve been putting off? jmduke.buttondown.email?
  9. Which means I’ll be able to send emails from those subdomains, too…
  10. Oh, man, this is gonna be a whole thing, isn’t it.

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:

Don't miss what's next. Subscribe to Weeknotes from Buttondown:
X
Powered by Buttondown, the easiest way to start and grow your newsletter.