Fill cancelled therapy slots from the waitlist

Micro-SaaSWeb1 weekNext.jsTwilioSupabaseStripe

The idea

A late cancellation costs a private-practice therapist 100-200 USD, and it happens weekly. Meanwhile the same therapist keeps a waitlist of clients begging for an earlier slot. Connecting the two currently means the therapist playing phone tag between sessions, so the slot usually just dies.

SimplePractice and its peers have waitlists, but they are static lists a human still has to work through manually. The whole wedge is the cascade: a staggered SMS waterfall that runs itself while the therapist sees their 2pm client, with first-reply-wins logic and automatic close-outs. Keeping the data to first names and phone numbers keeps the product deliberately out of PHI territory, which keeps the build a week instead of a year.

Who pays

Solo therapists and small group practices pay 29 USD/month out of their own pocket, and one filled slot covers three to six months of it. Distribution: therapist Facebook and Reddit communities, private-practice business podcasts, and directories like Psychology Today where practice-building content already circulates.

MVP scope

  • Prioritised waitlist with drag-to-reorder (first name + phone only)
  • One-tap slot-open trigger with date and time
  • Staggered SMS waterfall with first-YES-wins and close-out texts
  • Live fill-status screen and fill history
  • Quiet hours and configurable stagger window
  • Skip for v1: EHR/calendar integrations, client portal, payments for sessions, group practice roles
// Build prompt — paste into Cursor / Claude Code / Lovable / Bolt
Build SlotBack, a web app that fills cancelled therapy appointments from a prioritised waitlist via SMS.

Stack: Next.js (App Router), Twilio for SMS, Supabase (Postgres + auth), Stripe for billing.

Core flow: the therapist maintains a waitlist of clients wanting earlier or additional sessions, stored as first name and mobile number only, in priority order with drag-to-reorder. When a cancellation lands, the therapist opens the app and taps Slot Open, picks the date and time, and hits Send. The app texts the top waitlist entry: a slot has opened Thursday 3pm, reply YES to take it. If no YES within a configurable stagger window (default 15 minutes), it texts the next person, and so on down the list. First YES wins: the slot is marked filled, the winner gets a confirmation text, and anyone mid-window gets a polite close-out text saying the slot is taken.

Pages: magic-link login, waitlist manager with drag reorder, slot-open form, live fill status screen showing the waterfall in real time, history of filled and unfilled slots, settings (stagger window, quiet hours), billing.

Implementation details: store only first names and phone numbers, no diagnoses, no session notes, and say so plainly on the settings page. Enforce quiet hours (no sends 9pm-8am local) and handle a YES arriving after the slot is filled with a graceful reply.

Pricing: 29 USD/month solo plan via Stripe Checkout, 30-day trial.

// More Micro-SaaS ideas