Sign up

Buttondown's blog

Not verified No WebSub updates No webmention support Not yet validated

Buttondown's blog — guides, tutorials, and more

Public lists
davewiner/blogroll
Fetched

Buttondown's blog
Text

Making Buttondown easier to use

Skip the sidebar, hear what changed, and navigate tables with arrow keys.

Buttondown's blog
Text

Why not National Newsletter Writing Month?

Exercise your writing muscles, delight your subscribers, and make new connections with creators. What’s not to like?

Buttondown's blog
Text

Redirecting your archives

The archive redirect has graduated from a hidden setting into a Redirect add-on in your Web settings.

Buttondown's blog
Text

When France gave away terminals, and a dozen email services bloomed

Messaging is always the killer app, regardless of the network or the device

Buttondown's blog
Text

Everyone should start a newsletter

Shape your thinking, and the thinking of others, with consistent writing in public.

Buttondown's blog
Text

Writing prompts

A little list of writing prompts you can toggle on when you're staring at an empty email.

Buttondown's blog
Text

Two bits of settings cleanup

The Tracking page is gone, and so is the Design folder in the sidebar.

Buttondown's blog
Text

What we lost when we lost comments

Comments require commitment, but they’re worth it.

Buttondown's blog
Text

The joy and agony of a snail mail newsletter

A chance to create offline relationships, hone your craft, and eat your bodyweight in envelope glue

Buttondown's blog
Text

Email has never been free

The question is only who pays for it, and how.

Buttondown's blog
Text

Web app and email delays

Our public postmortem for the incident on September 9th, 2026.

Buttondown's blog
Text

Email analytics

We redesigned email analytics.

Buttondown's blog
Text

Crawling settings

One add-on that decides whether search engines, AI crawlers, and everything else may crawl your archive, separate from who can read it.

Buttondown's blog
Text

Email isn’t decentralized, and that’s fine

We gave up some of email’s ideals to wrangle spam, for now.

Buttondown's blog
Text

The Great Pruning

How we did some magic by deleting the three largest tables in our database

Buttondown's blog
Text

Itemized event exports

Export not just an email's aggregate numbers, but every individual event and timestamp behind them.

Buttondown's blog
Text

Email should be the universal interface for software

Email is the second-oldest software interface, after the Terminal.

Buttondown's blog
Text

Dashboard and Archives downtime

Our public postmortem for the incident on September 1st, 2026.

Buttondown's blog
Text

Ask a Nerd: Can you use web fonts in email?

Yes. But you really shouldn’t.

Buttondown's blog
Text

Newsletters should be the director’s commentary of every creator

Convert the cruft of your creations into the content your biggest fans treasure most.

Buttondown's blog
Text

One source of truth for analytics

We consolidated two overlapping analytics pipelines into a single, well-documented events log.

Buttondown's blog
Text

Ask a Nerd: Can emails include dark and light mode themes?

You can ensure that your emails show up dark. You can’t completely control how.

Buttondown's blog
Text

Confirmation emails when re-adding an unsubscribed subscriber

POST /v1/subscribers with collision-behavior add now respects type unactivated

Buttondown's blog
Text

Segments on the API

Saved, reusable audiences you can apply to an email instead of rebuilding filters

Buttondown's blog
Text

Private email is fine, actually

Hide your email, hide your lists

Buttondown's blog
Text

Clearer collision behavior when recreating subscribers

Overwrite can no longer silently no-op on a suppressed subscriber

Buttondown's blog
Text

Introducing forms

Standalone pages dedicated to growing your newsletter.

Buttondown's blog
Text

What I love about Django

The best parts of Django are the ones you stop noticing — a tour of the abstractions that have given Buttondown the most leverage over the years.

Buttondown's blog
Text

Introducing segments

Build a set of filters once, name it, and reuse it as a one-click audience on every future email.

Buttondown's blog
Text

Introducing segments

Build a set of filters once, name it, and reuse it as a one-click audience on every future email.