CodingIdeas.ai
← Back to Ideas

IntentShift - NLP Exit Intent Classifier for SaaS Cancellation Flows

Most SaaS cancellation surveys are graveyards of checkbox data nobody reads. IntentShift uses NLP to classify open-text cancellation reasons into actionable churn drivers with confidence scores, then triggers the right retention playbook automatically.

Difficulty

intermediate

Category

NLP & Text AI

Market Demand

High

Revenue Score

8/10

Platform

Web App

Vibe Code Friendly

No

Hackathon Score

🏆 7/10

What is it?

SaaS founders lose customers every week and have no idea why because their cancellation surveys produce raw text that never gets analyzed. IntentShift ingests cancellation survey responses via webhook or CSV, classifies each into a structured churn taxonomy (price sensitivity, missing feature, competitor switch, lifecycle end, support failure), and surfaces the top three drivers in a weekly digest. When a high-confidence price-sensitivity signal is detected, it can fire a Stripe coupon or a Slack alert to the founder. Built on a fine-tuned zero-shot classification model via HuggingFace Inference API, no GPU required. Shippable in two weeks by a solo developer.

Why now?

HuggingFace Inference API made zero-shot classification cheap enough for indie products in 2025, and the April 2026 vibe-coding wave means more solo SaaS founders than ever are shipping fast and losing customers without knowing why.

Target Audience

Solo SaaS founders and small product teams with 50+ monthly churns — estimated 80k indie SaaS products on the market with this exact gap.

User Stories

  • As a solo SaaS founder, I want my cancellation survey responses auto-classified by churn reason, so that I stop guessing why users leave.
  • As a product manager, I want a weekly email digest of my top churn drivers ranked by frequency, so that I can prioritize roadmap fixes.
  • As a growth-focused founder, I want IntentShift to automatically apply a Stripe discount when a cancellation is classified as price-sensitive, so that I recover customers without manual intervention.

Acceptance Criteria

Classification: done when a webhook payload with free-text cancellation reason returns a taxonomy label and confidence score in under 3 seconds. Dashboard: done when churn driver distribution chart loads with real data in under 2 seconds. Digest: done when weekly email correctly lists top 3 churn drivers with counts. Automation: done when a price-sensitivity label above 0.8 confidence triggers a Stripe coupon without manual action.

Is it worth building?

$29/month x 60 customers = $1,740 MRR at month 3. $79/month x 50 customers + $29/month x 100 customers = $6,850 MRR at month 8. Assumes 4% conversion from r/SaaS cold outreach.

Unit Economics

CAC: $15 via IndieHackers outreach. LTV: $348 (12 months at $29/month). Payback: 1 month. Gross margin: 88%.

Business Model

SaaS subscription ($29/month for up to 500 classifications, $79/month for unlimited)

Monetization Path

Free tier: 50 lifetime classifications. Paid plans unlock volume and Slack/Stripe automation triggers.

Revenue Timeline

First dollar: week 3 via beta upgrade. $1k MRR: month 3. $5k MRR: month 7.

Estimated Monthly Cost

HuggingFace Inference API: $30, Vercel: $20, Supabase: $25, Resend: $10, Stripe fees: ~$20. Total: ~$105/month at launch.

Success Metrics

Week 2: 10 beta accounts with live webhook data. Month 2: 40 paid accounts. Month 3: 85% retention rate.

Launch & Validation Plan

DM 30 indie SaaS founders on X offering free CSV classification of their last 100 cancellations in exchange for a 15-minute feedback call.

Customer Acquisition Strategy

First customer: reply to founders posting churn complaints on r/SaaS and r/indiehackers offering to classify their last 50 cancellations for free via CSV upload. Ongoing: IndieHackers weekly newsletter sponsorship at $200/issue, ProductHunt, cold DMs on X.

What's the competition?

Competition Level

Medium

Similar Products

Baremetrics tracks churn metrics but ignores qualitative signals. ChurnKey handles cancellation UX but does no NLP. Intercom can tag conversations manually — none auto-classify open-text churn reasons.

Competitive Advantage

Zero-shot NLP means no training data required per customer, Stripe coupon automation closes the loop that Baremetrics and ChurnKey ignore.

Regulatory Risks

Low regulatory risk. GDPR: end-user cancellation text may contain PII — provide data deletion API and document retention policy.

What's the roadmap?

Feature Roadmap

V1 (launch): webhook ingest, CSV import, zero-shot classification, weekly digest email. V2 (month 2-3): Slack alerts, Stripe coupon automation, trend charts. V3 (month 4+): custom taxonomy fine-tuning, Intercom integration, team seats.

Milestone Plan

Phase 1 (Week 1-2): classification pipeline working, dashboard live, CSV import done. Phase 2 (Week 3-4): Stripe billing, webhook endpoint, Resend digest, beta users. Phase 3 (Month 2): Slack automation, 40 paid accounts, retention loop proven.

How do you build it?

Tech Stack

Next.js, HuggingFace Inference API (zero-shot classification), Supabase, Stripe, Resend, Python FastAPI for classification microservice — build with Cursor for all backend routes.

Suggested Frameworks

HuggingFace Transformers (zero-shot), FastAPI, LangChain

Time to Ship

2 weeks

MVP Scope

pages/api/classify.ts, pages/api/webhook.ts, lib/huggingface.ts, lib/churnTaxonomy.ts, pages/dashboard.tsx, pages/api/digest.ts, components/ChurnDriverChart.tsx, supabase/schema.sql, scripts/csvImport.ts.

Core User Journey

Connect webhook or upload CSV -> classifications appear in dashboard in under 60 seconds -> weekly digest email arrives -> click to see top churn driver -> upgrade to enable Slack alerts.

Architecture Pattern

Cancellation survey webhook fires -> Next.js API route -> HuggingFace zero-shot classifier -> taxonomy label + confidence score stored in Supabase -> weekly digest email via Resend -> high-confidence price signal triggers Stripe coupon via API.

Data Model

Account has many SurveyResponses. SurveyResponse has one ChurnLabel, one confidence score, one raw text, and one created_at. Account has one WeeklyDigest schedule.

Integration Points

HuggingFace Inference API for zero-shot NLP classification, Supabase for data storage, Stripe for subscription billing and coupon API, Resend for weekly digest emails, Slack webhook for real-time alerts.

V1 Scope Boundaries

V1 excludes: multi-seat team accounts, custom taxonomy training, Salesforce integration, mobile app, and in-app cancellation widget.

Success Definition

A SaaS founder connects their cancellation webhook, receives a weekly churn driver digest, fires a retention coupon based on an IntentShift signal, and recovers one churned customer without touching code again.

Challenges

The hardest problem is convincing founders to add IntentShift to their cancellation flow before they have churn data — classic cold-start chicken-and-egg. Must offer a CSV import demo with sample data so the value is visible on signup.

Avoid These Pitfalls

Do not build a custom ML training pipeline — zero-shot classification is accurate enough for v1 and saves 6 weeks. Do not over-engineer the taxonomy before testing with real customer data. Finding first 10 paying customers will take longer than building — budget 3x more time on founder community outreach than on classification accuracy tuning.

Security Requirements

Supabase Auth with Google OAuth. RLS on survey_responses table. API key auth for webhook endpoint. Rate limit 100 classifications/min per account. PII scrubbing option on raw text storage.

Infrastructure Plan

Vercel for Next.js. Railway for FastAPI microservice. Supabase for Postgres. GitHub Actions for CI. Sentry for errors. Estimated infra: $50/month at launch.

Performance Targets

200 DAU at peak, 2,000 classifications/day. Classification API under 2s. Dashboard load under 1.5s. No caching needed at launch volume.

Go-Live Checklist

  • Security audit complete
  • Payment flow tested end-to-end
  • Sentry live
  • Monitoring dashboard configured
  • Custom domain with SSL
  • Privacy policy and terms published
  • 5 beta SaaS founders signed off
  • Rollback plan: revert Railway and Vercel deploys
  • ProductHunt and IndieHackers launch posts drafted.

How to build it, step by step

1. Run npx create-next-app intentshift --typescript and set up Supabase project. 2. Create FastAPI microservice with HuggingFace zero-shot pipeline using facebook/bart-large-mnli model. 3. Define churn taxonomy labels: price, missing feature, competitor, lifecycle, support. 4. Build pages/api/classify.ts to call FastAPI and store result in Supabase. 5. Build pages/api/webhook.ts to accept survey payloads and queue for classification. 6. Build dashboard with ChurnDriverChart using Recharts showing label distribution over time. 7. Add CSV import script that batch-classifies historical cancellations. 8. Integrate Stripe billing for monthly plan with usage limit enforcement. 9. Build Resend weekly digest that summarizes top three churn drivers with trend arrows. 10. Deploy FastAPI to Railway, Next.js to Vercel, test end-to-end webhook flow.

Generated

April 9, 2026

Model

claude-sonnet-4-6

← Back to All Ideas