Hey everyone,
I’ve been grinding on a project since April and I finally flipped the switch to live today.
The problem I kept seeing: most indie "retention" tools are just dumb modals. A user clicks cancel, you show them a generic "Are you sure?" popup, and they churn anyway. Or worse, you offer a discount, they click yes, but the tool doesn't actually talk to your billing provider and demands manual intervention. So the API fails and you still lose the customer. And even worse? The shrinking options for indie and bootstrapped founders who already suffer from Stripe's geographical restrictions. And if you do find a tool that actually works, it's usually locked entirely into the Stripe ecosystem. If you ever need to migrate your SaaS to Paddle, Lemon Squeezy, or Dodo Payments, your historical churn data gets left behind and your analytics are fragmented.
I got tired of this disconnect between frontend intent and backend billing mechanics, as well as the exclusivity and rigidity surrounding billing platforms. So I built ReStay. It’s an actual programmatic retention backend.
Here is how I set it up:
Atomic Execution: When a user accepts a discount or pause, the backend (built on Supabase Edge Functions) securely pings your MoR to apply it automatically.
Multi-Tenant Webhooks: It handles cryptographically signed webhooks from Dodo Payments, Stripe, Paddle, and Lemon Squeezy so your dashboard shows verified saved MRR, not just intent.
Headless Architecture: If you hate my default UI widget or have a strict brand theme, you don't have to use it. You can just ping the /ingest-event API endpoint from your own custom React/Native app.
AI Intelligence: It pipes your last 200 churn events through an open-weights model via Groq to give you an MRR and metric-weighted report on exactly why you are bleeding money, sent straight to Slack.
Automated Win-Backs: It runs a nightly check for churned accounts and automatically triggers time-delayed email sequences (powered via Brevo) to win them back with reactivation offers.
I also made the Free tier function as a complete, standalone exit survey. Even if you never connect your API keys, you can still capture the churn data most providers ignore.
I’m not looking to hard-sell anyone today. I just want some brutally honest feedback from other technical founders. If anyone wants to tear apart my build, test the free tier, or critique the onboarding flow, I’d be incredibly grateful.
Check it out here.
Make sure to thoroughly read the Docs & API guide first to understand how to test the widget infinitely without getting yourself locked out due to spam protection filters.