Back to selected work

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.

KEEP EXPLORINGListening beyond the baseline