5 reasons why I use Buttondown for my newsletter

Written on October 24, 2020

I’ve come across many instances on the Internet, where people ask which newsletter service they should use. Like most services when being argued as the best, I believe the best is what you use consistently to achieve a goal.

For me with regards to maintaining a newsletter it is a service called Buttondown, run by Justin Duke.

Screenshot of Buttondown's marketing page

The purpose of this article isn’t to persuade you to use Buttondown over a different service. But it’s to give insights into why I use Buttondown for my newsletter. You’ll have to decide whether each of the reasons I list out are important to you, but I do hope this article will help inform you in making your decision.

Reason 1: Markdown support

This article you are reading right now was written in a markup language called Markdown. Markdown allows you to use specific symbols in your writing which then gets converted into HTML.

Screenshot of my markdown setup in Vim

For example, using the pound # symbol prior to a string of text will yield the text wrapped in a <h1> tag.

So this,

# Pineapple pizza is quite delicious

then becomes,

<h1>Pineapple pizza is quite delicious</h1>

when the Markup is converted into HTML.

This is beneficial because as a writer, you can focus on the text in which you are writing and decorate with links and images without having to lift your hands off the keyboard like you would with a WYSIWYG editor.

Discovering Jekyll—a static site generator—and its support for Markdown was one of the reasons why I was drawn to it and the reason I have stuck with it. It allows me to focus on writing consistently.

Buttondown’s editor supports Markdown. This is nice because if I wanted to I could compose the contents of an email in my editor of choice and then paste it into Buttondown—making content super transportable. Or I could write it in Buttondown and get an elegant preview of exactly what will show up in my reader’s inbox. All with a common syntax.

Reason 2: Personal support from the maker

While I’m not sure how big Buttondown’s user base is, what is impressive is that it is run by a single person—Justin Duke.

Justin runs everything from development, design, documentation, business tasks and support.

That is a lot for a single person who runs this on the side on top of their full time career.

Which is why I’m so thankful that for every support email I have sent Justin, I’ve gotten a reply back.

Email thread with Justin

With every piece of Buttondown I’ve encountered be it the application, documentation or roadmap, I’ve come to appreciate the amount of care that Justin puts into it.

Reason 3: Documentation

As a developer I’ve run across my share of projects and services which you want to integrate or use; only to find out you can’t figure out how to use or work with the thing. It’s defeating.

Which is why Buttondown’s documentation is quite impressive. Everything from the FAQ, changelog to the API documentation gives you enough—in a language that you can understand—to accomplish what you’d like to do.

Screenshot of Buttondown's documentation in Notion

Reason 4: Metadata

One of the reasons why I first hesitated when signing up for Buttondown was a lack—or so I thought—of capturing additional information from readers.

I believe most newsletter services opt for only capturing emails from leads, but I like being able to capture a person’s name as well.

If I ever get a reply to a newsletter email, I can address the person by name even if they left out a signature. This detail matters to me.

It was one of the reasons why I stuck with Mailchimp because they allowed you to capture names and other data about your reader. But their form builder was such a clunky and awful experience.

What won me over to use Buttondown was providing a physical address to be used in my newsletter. Even though I thought there was no way to capture names. I moved away from Mailchimp only importing the emails of my list.

Then I later discovered through an email exchange with Justin, that there exists a feature to capture metadata about a subscriber. When digging into metadata I found the solution to be really elegant.

Metadata for a subscriber to your list is defined by key-value pairs under a Notes section for a subscriber.

Key-value pair of metadata in Buttondown

What’s nice is, you don’t need to use some clunky form builder to capture this metadata, you can use whatever form HTML you want and define the metadata by assigning it to the input element’s name attribute,

<input id="FavoriteColor" type="text" name="metadata__FavoriteColor" required />

The syntax for capturing the metadata is metadata__<NameOfKey>. Notice that it’s two underscores and not just one.

Documentation on how metadata should be used in HTML forms

Reason 5: I can use their physical address in my newsletter

As I mentioned in Reason 4, this was the deciding point for why I chose to use Buttondown for my newsletter.

Being a dad I care about the privacy of my family.

Prior to moving over to Buttondown I had been working at jobs that required me to be in a physical office. The benefit of this with regards to my newsletter is that I could use my job’s address as the mailing address included in the newsletter.

But with my current position I work remotely for a completely distributed company.

I could go and set up a P.O. box to have physical mail sent to, but for a newsletter just a little over a hundred subscribers, the cost was prohibitive.

So when I saw that Justin had provided a physical address to use with Buttondown’s service—even for free users—I knew Buttondown was the choice for me.

Give Buttondown a try

If you’re looking for a place to start or transfer a newsletter, I definitely recommend checking out Buttondown.

I’ve been with Buttondown since April 2020—for 6 months at the time writing this article—and have been delighted each time I send out a new email.

I’ve found Buttondown to be a great fit for my workflow and have been delighted by all of Justin’s thoughtful features and improvements to the product.

Stay in touch

Thanks for reading this article. I'd love to stay in touch and share more tips on programming and side projects with you. Sign up and I'll send you my articles straight to your email, you'll also get a free copy of the light themed version of my Git cheat sheet.
Git cheat sheet preview image