Voice AI · Full stack / 2026
LocoVoice
A conversation away from your next journey.
The problem
Train discovery, seat availability, and PNR information span multiple steps. I wanted to bring those interactions into one conversational interface, with explicit confirmation before an action.
How I approached it
I built a hybrid dialogue system: a finite state machine manages the workflow, while a Groq-powered LLM extracts intent and missing details. A FastAPI WebSocket backend connects the conversation to a React dashboard, with local rule-based fallbacks and multilingual speech integrations.
What came out of it
Removing large raw train objects from the prompt reduced the token footprint by approximately 95%. The repository reports 4 regression scenarios, with 100% task success in both offline and online modes. Offline parser p99 was approximately 760 ms; online p99 was approximately 2,010 ms. These are small simulator benchmarks, not production-wide reliability or end-to-end voice latency.
What I took away
A language model is more useful when the surrounding system makes state, confirmation, and failure recovery explicit.
Project details: repository and documentation . Personal contributions are based on my résumé and project notes.