Revenue Recovery AI automatically captures missed calls and forgotten leads for local service businesses and converts them into booked appointments through AI-powered SMS conversations. When a customer calls and hangs up or doesn't reach your HVAC company, salon, plumbing business, or contractor, the system instantly texts them back, engages them in a natural conversation to collect their service needs and availability, and books the appointment directly—all without human intervention. The dashboard shows you recovered leads, booked appointments, estimated revenue recovered, and lets you configure reminders, follow-ups for no-response leads, review requests, and old-lead reactivation campaigns.
Mission
Revenue Recovery AI — Business Plan
What we're building
Revenue Recovery AI is an AI-powered SaaS that turns missed calls and forgotten leads into paying customers for small local service businesses — HVAC, plumbers, roofers, cleaners, landscapers, contractors, auto detailers, salons, and other appointment-based businesses. It automatically texts back missed callers, runs natural AI conversations with leads over SMS, books appointments, follows up on unanswered leads and quotes, reactivates old leads, sends reminders, and requests reviews — all from one simple dashboard.
Selling proposition: "Turn missed calls and forgotten leads into paying customers automatically."
Current focus — MVP
Build a polished, modern SaaS that is practical to launch and sell to real businesses:
— landing page leading with the financial benefit, plus a pricing page (Starter $99 / Growth $199 / Pro $299, free trial). ✅ (2026-08-13): landing + pricing published, verified responsive and honest (no fabricated stats/testimonials).
Marketing site
Live
Signup, login & onboarding — a business owner with no technical knowledge connects their phone number, enters business info, and configures services in minutes. ✅ Done (2026-08-13): email/password auth with httpOnly session cookies, onboarding wizard (business info incl. type/service area/timezone, phone number, services with price/duration, working hours), Postgres-ready (schema + migration runner; in-memory fallback until DATABASE_URL connects), verified end-to-end with real UI interactions.
The recovery core — missed-call detection → instant SMS reply → natural AI text conversation that collects name, phone, service needed, location, and preferred appointment time → booked appointment. ✅ Built (2026-08-13): provider-neutral SMS transport with two supported carriers — Twilio (default) and Telnyx — env-gated webhooks (voice + SMS, 501 until credentials), OpenAI conversation engine (collects fields, books appointments, booking-confirmation SMS, graceful template fallback), lead/message/appointment data model in both memory and Postgres, simulation harness (template + AI dry-run + AI mock + Telnyx mock: all sims pass). Going live awaits provider + OpenAI + Neon credentials — the platform's Secrets delivery is not reaching the sandbox yet.
Automation — appointment reminders, review requests after completed jobs, follow-ups for no-response leads and unanswered quotes, old-lead reactivation campaigns. ✅ Built (2026-08-13): reminders + review requests + all three follow-up campaigns, env-gated, exactly-once (sims pass), honest non-pressuring copy; schedulers activate when either SMS provider's keys are saved.
Dashboard — leads recovered, appointments booked, estimated revenue recovered, conversion rates. ✅ Done (2026-08-13): authenticated app shell with sidebar, KPI dashboard with honest empty states, lead management with filters/search, two-pane AI conversation inbox, appointment management, and settings incl. per-business automation timing (reminder/no-response/quote/reactivation windows) — all verified end-to-end in a real browser with a fresh account; per-business automation settings confirmed to feed the reminder and follow-up scans.
Billing & subscription management — three tiers with a free trial. ✅ Built & verified (2026-08-13): env-gated Stripe integration (native fetch client, idempotent find-or-create of $99/$199/$299 monthly prices via lookup keys), checkout/portal/cancel server fns, signature-verified webhook handling (checkout, subscription updates, invoice paid — idempotent), 14-day free trial with full access during trial, billing page with honest "not connected" state + tier cards, and plan gating (starter 1 line / growth 3 / pro unlimited — documented assumptions) wired into the Settings phone section as the pattern. Sims pass; no regressions; published and browser-verified. Goes live the moment the owner saves STRIPE_SECRET_KEY, STRIPE_PUBLISHABLE_KEY, STRIPE_WEBHOOK_SECRET.
Priority order: the revenue-generating core ships first (missed call → SMS → AI conversation → booked appointment); everything else builds around it. Long-term goal: a scalable SaaS acquiring thousands of small-business customers.
Owner decisions pending
Credentials still not reaching the sandbox — owner connected Twilio, OpenAI, and Neon and saved to Secrets, but all five env vars (DATABASE_URL, TWILIO_ACCOUNT_SID, TWILIO_AUTH_TOKEN, TWILIO_FROM_NUMBER, OPENAI_API_KEY) read empty in every check. Re-saving on Secrets or pasting the values in chat unblocks: bun run db:migrate, provider verification, publishing, and handing the owner the webhook URLs. Telnyx is now wired as an alternative carrier (built 2026-08-14, sim-verified, published): saving TELNYX_API_KEY + TELNYX_FROM_NUMBER (instead of or alongside Twilio) also brings recovery live — one webhook URL handles both SMS and missed-call events.
Stripe keys — owner decided on their own Stripe account for subscriptions (milestone 7 built env-gated). Needed when ready: STRIPE_SECRET_KEY, STRIPE_PUBLISHABLE_KEY, STRIPE_WEBHOOK_SECRET (the webhook secret is set on Stripe's dashboard after the webhook URL is registered).
Git repo — still no repository linked; no commits made yet.
The team
lead
Team Lead
Team management, task planning, delegation, and monitoring
F
Full-Stack Engineer
Builds and ships the entire Revenue Recovery AI product: marketing site (landing + pricing), authentication, onboarding, the lead-recovery core (SMS + AI conversations + appointment booking + automation), dashboard and analytics, and billing/subscription management. Comfortable with a lightweight full-stack stack (TanStack Start/React, Node, Postgres), deploying on port 3000, and integrating Twilio, OpenAI, and Stripe.
Setup
Save your SMS provider credentials (Twilio account SID + auth token + phone number, or Telnyx API key + phone number), OpenAI API key, Stripe keys, and database URL to Secrets. Run bun run db:migrate to initialize the database. Provide the webhook URLs (one for SMS and missed calls) to your SMS provider's dashboard. Complete the onboarding wizard to enter your business type, service area, timezone, services with pricing, and working hours. Start receiving automated text conversations from missed callers.