This year: really great. Built a lot, re-built even more, lots of happy new users, lots of emails sent.
Next year: will be really great. Localization, dark mode, re-building (automations, search, onboarding), new subscription flow, new archive themes.
It is with no small amount of pleasure and fortune that I re-read last year's end-of-year blog post and see that we shipped most of what we talked about shipping, like:
And this is to say nothing of the other stuff we built! Like (and this is by no means an exhaustive list, and it's hard to pick just five):
We only missed on three things we hoped to ship:
In 2025, we're going to pivot to video double down on what you all tell us, time and time again, is the most important thing: being a rock-solid tool with a focus on reliability, focus, and ergonomics. We have some specific ideas around existing parts of using Buttondown that can be improved:
But those are implementation details — projects, rather than principles.
More than any individual thing you can expect to see us build, you can (and should!) expect us to keep investing in what we know is important not just for next year but for the next decade:
I wrote everything above in plurals: us, we. This reflects perhaps the most significant aspect of Buttondown's growth over the past few years: what began as a small hobby project in a Seattle coffee shop on a rainy Saturday afternoon is now a robust and growing company, used by tens of thousands of people to send millions of emails.
2024 was the first year in Buttondown's history that the majority of new code was not written by me; it was the first year, too, that the majority of customers talked to someone who wasn't me.
Whether you're using Buttondown to send updates to ten people or ten thousand, I — we! — do not take it for granted. Trust and support is hard-won and easily lost, these days more than ever; we promise to do right by you, not just next year but for all the years to come.
(And, as always, if you have anything you wish to tell me, I'm at justin@buttondown.email.)