Components
| Component | Purpose |
|---|---|
| Convex backend | Stores business data and runs backend functions, HTTP endpoints, auth, billing logic, calendar sync, SMS, and knowledge workflows. |
| Voice gateway | Node.js service that handles Twilio Voice, Twilio Media Streams, OpenAI Realtime, transfers, and recording upload. |
| Web dashboard | React/Vite app operators use to configure the receptionist and review activity. |
Required providers for live voice
- Convex for backend and storage.
- Twilio for phone numbers, voice calls, SMS, and phone verification.
- OpenAI for Realtime voice conversations.
- A hosting platform for the voice gateway with a public HTTPS URL.
- Static hosting for the web dashboard.
Optional providers
- Google Calendar for calendar availability and booking sync.
- Firecrawl for website knowledge import.
- Google Gemini for knowledge embeddings and non-realtime text generation.
- Resend for password reset and email-change emails.
- Polar if you are operating hosted billing for your own customers.
- PostHog for analytics and telemetry.
What self-host does not do for you
When self-hosting, you are responsible for:- Twilio account setup, phone numbers, webhooks, A2P/10DLC compliance, and SMS costs.
- OpenAI usage costs.
- Convex project ownership and deployment settings.
- Voice gateway uptime and public networking.
- Secret management.
- Product, privacy, retention, and compliance policies for your deployment.
Next steps
Environment variables
Review the main runtime and provider variables used by the app.
Third-party providers
See what each external provider does in LobbyStack.