Multi-tenant property-maintenance platform with an AI front desk
Residents reach it by phone, SMS, email, or web. It triages each request, opens work orders, dispatches vendors, syncs to the customer's property-management system, and drafts replies for staff to approve.
- Tenant isolation in the database: forced Postgres row-level security on every org-scoped table, a least-privilege runtime role, and transaction-scoped context, so pooled connections can't leak data between orgs. Cross-org attack tests run in CI.
- Real-time voice agent: carrier media streams → streaming speech-to-text → LLM → text-to-speech, with cross-vendor fallback and a synthetic-caller harness that places real phone calls in tests.
- Safety-critical triage: life-safety and seasonal no-heat floors that org config can't lower, and an emergency dispatch cascade that pages on-call staff when every vendor has been tried.
- Stripe billing: signed webhooks, protection against out-of-order events, and idempotency keys hashed from request parameters, all checked by a live contract suite against the Stripe sandbox.
- Scope and delivery: NestJS API, worker, and realtime services; Next.js dashboard; Expo mobile app; 122 migrations. An 8-job GitHub Actions pipeline and a one-command deploy with rollback behind a Playwright gate. Terraform for GCP.