Multi-provider voice AI demo platform with React, TypeScript, Express, and a feature-flagged OpenAI live translation tab.
npm run dev:allThis starts the Vite frontend on http://localhost:8082 and the Express API on http://localhost:3001.
For a shareable HTTPS demo:
npm run demo.
|-- src/ # Frontend app, providers, hooks, and shared types
|-- server/ # Express API and security utilities
|-- docs/ # Deployment, architecture, onboarding, and runbooks
|-- tests/ # Playwright fixtures and browser tests
|-- .spec_system/ # Apex spec system state, PRD, sessions, and archives
\-- scripts/ # Local automation for dev, demo, and deploy tasks
- Onboarding
- Development Guide
- Architecture
- Deployment Guide
- CI/CD Operations Guide
- OpenAI Translation Demo Guide
- Contributing
npm run dev- Vite frontend onlynpm run dev:all- Frontend plus backendnpm run server- Express API onlynpm run build- Production frontend buildnpm run test:run- Vitest oncenpm run test:e2e:ci- Bounded Playwright CI subsetnpm run docker:prod- Start the production container and verify healthnpm run demo- Build production assets and launch ngrok demo mode
- React 19 and TypeScript for the UI
- Vite for frontend development and bundling
- Express for server routes, token minting, and health checks
- Playwright and Vitest for browser and unit coverage
- Docker and ngrok for production-like local runs and demos
Supported tabs are controlled through environment flags and the shared provider order in src/types/voice-provider.ts:
- ElevenLabs Widget
- ElevenLabs SDK
- xAI Grok
- OpenAI Realtime
- OpenAI Translation
- Ultravox
- Vapi
- Retell
- Gemini Live