Rather than build around a single voice provider, I designed the platform’s voice layer to treat the provider itself as a runtime decision.
- Built a provider-abstraction layer for realtime voice AI, with dynamic routing between AWS Nova Sonic and OpenAI Realtime chosen per customer/use case rather than a single hard-coded vendor.
- Built failover into that same routing decision: if the primary provider is rate-limited, the call is routed to the secondary provider before it ever connects to the AI — not a mid-call handoff.
- Supported multiple caller-facing AI profiles — a resident-assistant profile and a leasing-assistant profile — selected based on caller context, each scoped to its own behavior and tools through the platform’s shared agentic backend.
- Designed IVR-first call routing underneath the voice layer (single entry point, call groups as routing entities, an AI-first toggle with configurable handoff).