L
LeadPilot AI Acme Home Services
Hosted on one domain, one deployment

Inbound AI qualification for home service businesses.

This demo answers the phone, qualifies the lead, and routes emergencies without forcing a human visitor to read raw JSON. The browser entrypoint lives at /; Twilio webhooks stay on /voice, /call-status, and /media-stream.

Demo phone number +16592186368
Try it from a real phone to hear the full Twilio + Deepgram + LLM + TTS loop.
What this deployment includes

Browser page, webhook API, and a visible architecture map.

The landing page explains the demo in plain English, shows the number to call, and links directly to the repository and decision log.

How to test

  • Open this page in a browser.Use the big phone number as the primary CTA.
  • Make one call from a real phone.The agent should answer and qualify the caller.
  • Try an emergency prompt first.That path should bypass the normal flow.

What the assistant does

  • Captures service type and urgency.Then routes to lead creation or escalation.
  • Logs the call in Supabase.Every call gets a record, even if the DB is temporarily down.
  • Falls back cleanly if needed.Voice outages go to voicemail instead of dead air.

Useful links

  • GitHub repositorySource, tests, and deployment artifacts.
  • DECISIONS.mdThe architectural tradeoffs behind the rollout.
  • /healthQuick status check for Twilio, Supabase, and LLM tiers.
Architecture

One FastAPI app handles the whole call loop.

This diagram is the README architecture rendered as an image, so the homepage reads cleanly without losing the system view.

Architecture diagram for the LeadPilot AI voice agent
Root page: / | Twilio voice webhook: /voice | Media stream: /media-stream/{call_sid} | Call status: /call-status | Health: /health
Deployment note

DigitalOcean checklist

Use the README deployment steps to push this exact container to a single DigitalOcean service and point Twilio at the public URL.