A real-time voice chat web app with streaming audio, live transcription, and low-latency responses. live url: https://live-voice-chat-ai.onrender.com
- Full-duplex audio streaming (talk and listen without turn-taking)
- Live transcript feed
- Modern single-page UI (no frontend build step)
- Frontend: React (CDN), vanilla CSS, Opus recorder/decoder
- Backend: FastAPI for static assets + websocket server for streaming
- Model: Kyutai Labs Moshi (speech-to-speech)
src/frontend/UI (served as static files)src/app.pyFastAPI server for static assetssrc/moshi.pywebsocket server for model streaming
- Install Modal
pip install modal
- Authenticate
modal setup
- Run the app
modal serve src.app
You can host the UI on Render and keep the websocket backend on Modal.
- Deploy the backend on Modal
modal deploy src.app
- Create a Render Static Site connected to this repo
- Set the Render publish directory to
src/frontend - Set the websocket endpoint in
src/frontend/index.htmlviawindow.LIVE_VOICE_WS_ENDPOINT, or pass it at runtime likehttps://your-render-site?ws=wss://YOUR-MODAL-ENDPOINT/ws.
- Microphone access is required in the browser.
- If you update frontend assets and don’t see changes, clear your browser cache.
Developed by Anurag Singh