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.
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
| Item | Number |
|---|---|
| Monthly revenue | $75,000 (about ¥11.25M) |
| Growth rate | Roughly 5% month-over-month, for the past 5 years |
| Team | 1 founder (only full-time person) + 2 part-time contractors |
| Customers | “Tens of thousands” (Duke’s own words) |
| Funding | None raised. Profitable — “We’re profitable and growing!” |
| Started | December 2016, as a nights-and-weekends side project while at Stripe |
| Went full-time | 2023 (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
| Time | Event |
|---|---|
| Dec 2016 | Development begins, sparked by frustration with Tinyletter |
| At launch | Hit the front page of both Hacker News and Product Hunt. About 30,000 unique visitors → about 500 registered users → about 10 paying customers |
| Early on | Adopted 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 |
| 2019 | Growth “very unsatisfying.” A “good month” meant landing one new customer |
| 2023 | Monthly 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.
-
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.
-
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.
-
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.”
Related reading
- How Plausible Analytics reached $1M ARR — another path to compounding SaaS growth with no outside funding
- How Carrd reached $2M ARR without adding features — a solo-developer case defined by knowing the scope you can finish
If this one impressed you
Similar cases

Pallyy: A Former Locksmith Taught Himself to Code and Hit $74K MRR Solo — the “Agency-Focused, Lowest Price” One-Person SaaS
SaaS
ProjectionLab: $1M ARR from 4–6 Hours a Night, Every Weeknight, for 4 Years — the Growth Curve of a Financial-Planning SaaS Raised by the FIRE Community
SaaS
Marc Lou: $1,032,000 in 2025 — Inside the “Small Products, Stacked” Portfolio He Made Public
SaaS
CyberLeads: After 19 Failed Projects, a "Freshly Funded Companies" Lead List Built in 31 Days Now Makes $53.7K/Month — with a Free Newsletter as the Sales Engine
SaaSMost read
- 1
Payout: A Class-Action App Vibe-Coded in 14 Days Reached $1,003,227 ARR in 9 Months. It Cost About $10 to Build, and a Partner With 10 Million Followers Grew It
43 recent visits - 2
Starter Story: The $91.7K/Month Startup Case-Study Media Acquired by HubSpot — Months After the Founder Tweeted "HubSpot Should Acquire Starter Story"
35 recent visits - 3
Instatus: $48K MRR with Every Metric Public, After Dropping "Sup" and Repricing Upmarket
23 recent visits - 4
From 30 yen in revenue to 8 years later: how running 3 apps in parallel got an indie developer to 200,000 yen a month
20 recent visits - 5
¥4.61 Million a Year, Five Years After Starting to Learn Programming. The Full Three-Year P&L and Playbook of an Indie Education App
19 recent visits
Latest articles
- 2026-10-20
An 18-Year-Old French Pâtisserie Changed Hands for ¥8M With 1–2 Weeks Left Before Closing — And the 29-Year-Old Buyer Never Negotiated the Price
- 2026-10-20
Traffic Think Tank: a six-year side-hustle SEO community sold for $1.8M, with 40% paid later
- 2026-10-20
Doing Content Right: After Four Side Projects That Made $0, a $99 Ebook Did $130K in Eight Months
- 2026-10-20
Ali Abdaal: Of $5.5M in 2023 Business Revenue, $3.5M Came From Courses — YouTube Was the Funnel, Not the Product
- 2026-10-19
Ozeki Sangyo: A Factory "Two Months From Death" Changed Hands for ¥13M — ¥11M of It an Apartment, Not Cash
Sources
- Founder Starter Story「Bootstrapping A [Profitable] $15K/Month Simple Newsletter SaaS With No Experience」