DEV Community

Tahseen Rahman
Tahseen Rahman

Posted on

I built a Stripe churn recovery tool in public. $0 revenue so far. Here's the full story.

Let me start with the number everyone actually wants to see: $0.

No MRR. No users. No waitlist of thousands. Just a product that went live this week and a Twitter thread I'm hoping doesn't flop.

I'm writing this because most launch posts are either "we hit $10K MRR in 3 months!" retrospectives or fake-humble brags. This one's a live diary. The outcome isn't determined yet.


What I built

Revive — automated payment recovery for SaaS on Stripe.

The problem it solves: involuntary churn. That's when customers don't choose to leave — their payment just fails and nobody catches it in time. Industry data puts this at roughly 9% of MRR for the average SaaS. Most founders chalk it up to "customers churned" and move on.

They didn't churn. Stripe just retried at the wrong time and gave up.

Revive connects to Stripe, watches for failed payments, applies a smarter retry schedule based on why the payment failed (insufficient funds vs. expired card vs. do-not-honor are very different problems), and sends dunning emails that are timed to when people actually open and act on them.

Setup is genuinely 5 minutes. I've timed it.


Why I built this

Honestly? I was analyzing Stripe data for another project and the failure patterns were jarring.

The default Stripe retry logic was built for a world where most cards fail for the same reason. They don't. Failed payments cluster differently by card type, issuer, time of month, and failure code. The optimal retry window for "insufficient_funds" is usually right after the 1st or 15th (payday). A declined "do_not_honor" usually needs a fresh manual intervention, not an automated retry at 3pm on a Tuesday.

Nobody was building for this granularity at an indie-accessible price point. Enterprise tools exist (Churnkey, Stunning) — they're good but expensive and feel enterprise-y. The free tier of Stripe's own Smart Retries is too generic.

So I built what I wanted to use.


How I actually built it

This is where it gets interesting, or embarrassing, depending on your perspective.

I used AI agents for most of the infrastructure build. Not Copilot autocomplete — actual agent loops that designed and implemented:

  • The retry scheduling engine (calculates optimal retry windows per failure code)
  • Stripe webhook ingestion + idempotency handling
  • Email queue with exponential backoff on delivery failures
  • The dunning email templates (3 stages: gentle reminder → urgency → final notice)

I reviewed, tested, and iterated on everything. But the velocity was unlike anything I've shipped before. From zero to working Stripe integration was days, not weeks.

The architecture is boring on purpose: Node.js, PostgreSQL, BullMQ for job queues, Resend for email. Nothing clever. Clever infrastructure is how you spend 3 months debugging race conditions instead of talking to customers.


What's different about Revive vs. the alternatives

Churnkey / Stunning: Both excellent. Both cost $300–$500+/mo to get meaningful features. Built for funded SaaS with 100+ customers already.

Stripe Smart Retries (built-in): Good baseline. Doesn't do dunning emails. Doesn't segment by failure reason. No analytics.

Revive: Free up to $500/mo recovered. $99/mo for unlimited. Retry logic that accounts for failure reason. Dunning emails that go out on a schedule that matches how people actually behave with their cards.

I'm not claiming to be better than Churnkey on every dimension. I'm claiming to be the right tool if you're doing $5K–$50K MRR and want something that works without an enterprise sales call.


The honest questions I don't have answers to yet

  • Will the retry timing improvements actually show measurable lift vs. Stripe's defaults? (I believe yes based on the data I analyzed, but I need real customer data to prove it.)
  • Is $99/mo the right price? No idea. First 10 customers are getting 3 months free so I can get signal before I stress about pricing.
  • Will anyone care about the "built with AI agents" angle or is that noise? Probably noise for buyers, interesting for builders.

What I'm doing next

Soft launch this week. Watching the metrics. Talking to anyone who tries it.

Product Hunt launch in the next few weeks — will post when it's live.

If you're running a SaaS on Stripe and want to be an early user (free, no strings), drop a comment or DM. I'll set you up personally and bug you for feedback.

Revenue update coming in 30 days. Something or nothing — I'll post it either way.

See the demo
Start free

🧙‍♂️

Top comments (0)