| title | VoiceBot |
|---|---|
| emoji | 🤖 |
| colorFrom | blue |
| colorTo | indigo |
| sdk | docker |
| pinned | false |
A modern, production-ready voice-to-voice interview bot built with React frontend and Flask backend.
- Voice Input/Output: Complete voice-to-voice pipeline
- Real-Time Communication: WebSocket support for streaming
- Multi-Provider AI: Groq and OpenAI with automatic fallback
- Session Management: Persistent conversations
- Caching: Intelligent caching to reduce costs
- Rate Limiting: Protection against abuse
- Modern UI: Responsive React frontend
- Production-Ready: Comprehensive logging, error handling, monitoring
- Frontend: React 18 + Vite (Port 3000)
- Backend: Flask 3.0 + Flask-SocketIO (Port 5000)
- AI Services: Whisper (STT), Groq/OpenAI (LLM), YourTTS (TTS)
- Storage: Redis (optional) or in-memory cache
- WebSocket: Real-time bidirectional communication
cd backend
pip install -r requirements.txt
cp .env.example .env
# Add your GROQ_API_KEY to .env
python run.pycd frontend
npm install
cp .env.example .env
npm run dev- Frontend: http://localhost:3000
- Backend API: http://localhost:5000
- API Docs: http://localhost:5000/api/health
.
├── backend/ # Flask API
│ ├── app/
│ │ ├── routes/ # API endpoints
│ │ ├── services/ # Business logic
│ │ ├── utils/ # Utilities
│ │ └── middleware/ # Middleware
│ └── run.py
├── frontend/ # React app
│ ├── src/
│ │ ├── components/
│ │ ├── services/
│ │ ├── hooks/
│ │ └── context/
│ └── package.json
└── README.md
GROQ_API_KEY- RequiredOPENAI_API_KEY- Optional (for fallback)REDIS_ENABLED- Enable Redis cachingRATE_LIMIT_PER_MINUTE- Rate limiting
VITE_API_BASE_URL- Backend API URLVITE_WS_URL- WebSocket URL
POST /api/session- Create sessionPOST /api/transcribe- Audio to textPOST /api/chat- Generate responsePOST /api/tts- Text to speechPOST /api/process- Complete pipelineGET /api/conversation/:id- Get historyDELETE /api/conversation/:id- Clear history
- WebRTC audio recording
- Real-time conversation display
- Audio playback
- Session persistence
- Error handling
- Responsive design
- RESTful API
- WebSocket support
- Multi-provider LLM
- Intelligent caching
- Rate limiting
- Comprehensive logging
- Error recovery
- Railway, Render, AWS, or Hugging Face Spaces
- Set environment variables
- Install dependencies
- Run
python run.py
- Vercel, Netlify, or static hosting
- Set environment variables
- Build:
npm run build - Deploy
dist/folder
- Health check:
GET /api/health - Logs:
backend/logs/ - Metrics: Tracked in ProcessingMetrics
- API keys in environment variables
- Rate limiting per IP/session
- Input validation
- CORS configuration
- Session security
Built for 100x AI Agent Team Interview Assessment
Built by: Balamurugan Nithyanantham