Operating

Buttondown: A Stripe Engineer's Weekend SaaS — 5% a Month for Five Years to $75,000/Month

Justin Duke, a Stripe engineer, started newsletter SaaS Buttondown as a December 2016 side project. Roughly 5% monthly growth for the past five years brought it to $75,000/month (about ¥11.25M). He didn't go full-time until year seven.

Buttondown: A Stripe Engineer's Weekend SaaS — 5% a Month for Five Years to $75,000/Month

Dollar figures are converted throughout at an approximate rate of $1 = ¥150.

Seven years to $75,000/month

Buttondown is a newsletter-delivery SaaS Justin Duke started writing as a side project in December 2016. His day job at the time was software engineer at Stripe. The motivation wasn’t market research or a business plan — it was a personal irritation: he was sick of using Tinyletter.

That side project became a $75,000/month (about ¥11.25M) business seven years later. But there’s no single moment in this story where the trajectory suddenly changed. What there is, is a record of an unremarkable “roughly 5% a month” figure sustained for five years straight. It’s worth tracing what didn’t happen along the way, too.

The full picture in numbers

ItemNumber
Monthly revenue$75,000 (about ¥11.25M)
Growth rateRoughly 5% month-over-month, for the past 5 years
Team1 founder (only full-time person) + 2 part-time contractors
Customers“Tens of thousands” (Duke’s own words)
FundingNone raised. Profitable — “We’re profitable and growing!”
StartedDecember 2016, as a nights-and-weekends side project while at Stripe
Went full-time2023 (the first year he worked on it full-time)

Note: the headline of the Starter Story article that covered this case reads “$15K/Month,” but the profile section and body text on the same page show $75,000/month. This article follows the body-text figure.

Timeline: stagnation, then acceleration

TimeEvent
Dec 2016Development begins, sparked by frustration with Tinyletter
At launchHit the front page of both Hacker News and Product Hunt. About 30,000 unique visitors → about 500 registered users → about 10 paying customers
Early onAdopted a pricing model combining usage-based and feature-based billing simultaneously. Triggered a flood of support questions
Simplified pricing to a standard SaaS tier structure
2019Growth “very unsatisfying.” A “good month” meant landing one new customer
2023Monthly revenue reaches $75,000. A “good month” now means MRR growing by about $1,000. First full-time year, also covering pay for two contractors

The same phrase, “a good month,” changed meaning from “one new customer” to “MRR +$1,000.” That shift is essentially the whole substance of four years of change.

What it sells

Buttondown is a stripped-down newsletter delivery tool: write in Markdown, send it, done. Technology choices were Django, Heroku, Vue, and Sass. Duke deliberately avoided trendy frameworks, explicitly adopting philosophies like “Choose Boring Technology” and “Build Less.”

One of his lines: “There’s a lot of room in the world for incremental improvements.” The judgment is that you can succeed simply by adding one faster, simpler option to an already-massive existing market. The differentiators he actually names aren’t feature count. They’re “speed,” “responsiveness to customer requests,” and “minimal, opinionated design.”

No dramatic turning point. What worked was compounding, plus the exposure customers themselves provided

There’s no moment in this case that qualifies as a turning point. The launch buzz didn’t translate into revenue, and even by 2019, new customers were still arriving at a rate of one per month. What worked was simply never letting the “5% a month” streak break.

Sustaining 5% monthly growth for 60 months compounds to about 18.7x. Working backward from $75,000, that would put revenue around $4,000/month five years ago, but that’s the reporter’s own back-of-envelope math, not a figure Duke has disclosed. And it doesn’t square cleanly with the 2019 testimony that “a good month meant one new customer”, a $4,000/month business growing 5% a month would need a fair number of new signups to sustain that. The actual starting point for “5% growth sustained for 5 years” is probably somewhat later than 2019, and likely includes rising per-existing-customer revenue as well. This ambiguity is worth flagging. What is certain is the sequence: he stayed at a low altitude as a side project for a long time, and only went full-time after reaching $75,000.

So why didn’t the 5% ever break? Three structural things are at work.

1. The customer’s output becomes the distribution channel itself. Duke says: “Almost every email and every public web archive has a ‘powered by Buttondown’ CTA in the footer. In other words, customers do most of the acquisition and retention work for us.” This is a structural property of the product category rather than a viral gimmick. A newsletter SaaS has the trait that a customer’s output is published to the world. The more customers there are, the more exposure surface there is, and that surface stays in place as long as the customer doesn’t churn. Ad spend disappears. The footer accumulates as inventory. The category of product itself embedded a structure where acquisition cost falls in inverse proportion to customer count.

2. Pricing confusion was treated as a friction sensor. Early on, usage-based and feature-based billing ran together. The lesson learned was clear: “If a customer emails you because they don’t know how much they’re going to pay, that’s a bad sign.” He reinterpreted the volume of pricing-related support questions as a metric for how badly the pricing page was designed, and consolidated it into a standard SaaS structure. A viral structure is fragile to friction, if someone arriving via the footer stalls out on the pricing page, the amplification loop breaks.

3. He chose boring technology and put his time into responsiveness instead. His line “Agility is a superpower” is the flip side of running solo for seven years and spending his time on responding to customer requests rather than chasing technical trends.

His channel approach is also distinctive. He shows no hesitation about repeating the same content across Twitter, blog, and email. His reasoning: “most users ignore all but one channel.” Holding back output for fear of redundancy costs more than it saves, in his view.

What didn’t work

  • Launch buzz: The simultaneous HN and PH front-page hits drove about 30,000 unique visitors, but only about 10 paying customers. That’s a 0.03% paid conversion rate. “Attention” barely converted to revenue.
  • The stagnation lasting through year three: as of 2019, “a good month” still meant one new customer. Had he given up at that point, the $75,000 figure would never exist.
  • Early pricing design: he openly admits the dual-billing model was a failure.

What’s reproducible, and what isn’t

What’s reproducible: self-amplification via footer CTAs, pricing simplification, and boring technology choices. But the footer-CTA effect only works for a product category where a customer’s output becomes something public. The same structure can’t be built for an internal-only tool.

What’s harder to reproduce is the underlying conditions. Technical skill from being a Stripe engineer, and a financial base that let him wait seven years while running this as a side project. Going full-time was a decision made after reaching $75,000/month. He didn’t quit his job first. Duke’s own advice comes down to three points: “build something you’d be satisfied with even if you were the only user,” “distinguish reversible decisions from irreversible ones (naming and API contracts fall into the latter),” and “be patient. This isn’t a sprint, it’s a marathon of marathons.”

Sources

This article summarizes and analyzes the public sources above. Please refer to the primary sources for details.

You may freely quote or republish this article in news media, blogs, or AI answers, provided you credit "Small Start (small-start.com)" and link to this page. No prior permission is needed. Reprint & quotation policy →

Similar cases

Found this useful? Share it
Share on X