How this MVP is built for real: modules with one interface each, a PostgreSQL schema you own, a worker for the send queue and the webhooks, and the compliance rules in the send path rather than in a document. Source code, schema and docs are delivered with the build.
PostgreSQL DDL with enums, indexes, the double-booking exclusion constraint and a row-level-security policy sketch. Every name matches the demo.
| Piece | In this demo | In production |
|---|---|---|
| Assistant replies | Live: Claude, structured output, rate limited per IP and per day, scripted fallback if the cap is hit | OpenAI or Anthropic through the adapter; per-tenant key |
| Import validation | Real: E.164, duplicates, consent, suppression | Same rules server-side plus the DNC scrub provider's API |
| Segment math, quiet hours, send window | Real (GSM-7 160/153, UCS-2 70/67; lead-local hours) | Same, enforced in the worker, not the browser |
| Availability and round robin | Real, from seeded working hours and busy blocks | freeBusy against each agent's Google Calendar |
| Delivery receipts and lead replies after a launch | Simulated, deterministic | Carrier callbacks through the provider |
| Google Calendar writes | Simulated (event id generated) | events.insert with the lead as attendee, invite by SMS link |
| A2P 10DLC status | Seeded | Read from the registration API; gates the send button |
| Storage | This browser (localStorage), resets daily | PostgreSQL schema below, per-tenant RLS |