<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: SHIVA KUMAR JATLA</title>
    <description>The latest articles on DEV Community by SHIVA KUMAR JATLA (@shiva_kumarjatla_56c25d6).</description>
    <link>https://dev.to/shiva_kumarjatla_56c25d6</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4078046%2F705e2517-979a-4c4f-baeb-aeab58e01b18.png</url>
      <title>DEV Community: SHIVA KUMAR JATLA</title>
      <link>https://dev.to/shiva_kumarjatla_56c25d6</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/shiva_kumarjatla_56c25d6"/>
    <language>en</language>
    <item>
      <title>From a Simple Voice Bot to a Production-Style AI Assistant: Building DhanVaani in 10 Days</title>
      <dc:creator>SHIVA KUMAR JATLA</dc:creator>
      <pubDate>Sat, 15 Aug 2026 12:52:42 +0000</pubDate>
      <link>https://dev.to/shiva_kumarjatla_56c25d6/from-a-simple-voice-bot-to-a-production-style-ai-assistant-building-dhanvaani-in-10-days-3ofm</link>
      <guid>https://dev.to/shiva_kumarjatla_56c25d6/from-a-simple-voice-bot-to-a-production-style-ai-assistant-building-dhanvaani-in-10-days-3ofm</guid>
      <description>&lt;p&gt;Github Repository Link: &lt;a href="https://github.com/ShivaKumar-Jatla/murf-livekit-starter" rel="noopener noreferrer"&gt;https://github.com/ShivaKumar-Jatla/murf-livekit-starter&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Introduction&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;What if accessing information about government financial schemes was as simple as making a phone call?&lt;/p&gt;

&lt;p&gt;Many people struggle to understand eligibility requirements, required documents, and application procedures for government schemes. Websites are often difficult to navigate, especially for users who prefer speaking over typing.&lt;/p&gt;

&lt;p&gt;To solve this, I built DhanVaani, a multilingual AI voice assistant that helps users explore government financial schemes through natural voice conversations.&lt;/p&gt;

&lt;p&gt;I built DhanVaani during the 10 Days of Voice Agents – VoiceForBharat Edition using Murf Falcon, LiveKit, Gemini, and Deepgram.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Frs0nw1ih0q9cxosvkqul.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Frs0nw1ih0q9cxosvkqul.png" alt=" " width="800" height="533"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Why Voice?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Not every user wants to interact with a chatbot.&lt;/p&gt;

&lt;p&gt;Voice interactions are:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Faster&lt;/li&gt;
&lt;li&gt;More natural&lt;/li&gt;
&lt;li&gt;Accessible for first-time internet users&lt;/li&gt;
&lt;li&gt;Helpful for multilingual users&lt;/li&gt;
&lt;li&gt;Useful on mobile devices&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Instead of searching multiple government websites, users simply talk to DhanVaani.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The Technology Stack&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;DhanVaani is built using:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Speech-to-Text: Deepgram Nova-3&lt;/li&gt;
&lt;li&gt;LLM: Gemini 3.5 Flash Lite&lt;/li&gt;
&lt;li&gt;Text-to-Speech: Murf Falcon&lt;/li&gt;
&lt;li&gt;Realtime Communication: LiveKit&lt;/li&gt;
&lt;li&gt;Backend: Python&lt;/li&gt;
&lt;li&gt;Frontend: React&lt;/li&gt;
&lt;li&gt;Database: SQLite&lt;/li&gt;
&lt;li&gt;Telephony: Linphone + LiveKit SIP&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The overall pipeline looks like this:&lt;/p&gt;

&lt;p&gt;User Speech&lt;br&gt;
      │&lt;br&gt;
      ▼&lt;br&gt;
Deepgram Speech-to-Text&lt;br&gt;
      │&lt;br&gt;
      ▼&lt;br&gt;
Gemini LLM&lt;br&gt;
      │&lt;br&gt;
      ▼&lt;br&gt;
Function Calling&lt;br&gt;
      │&lt;br&gt;
      ▼&lt;br&gt;
Murf Falcon TTS&lt;br&gt;
      │&lt;br&gt;
      ▼&lt;br&gt;
User Hears Response&lt;/p&gt;

&lt;p&gt;Features I Built&lt;/p&gt;

&lt;p&gt;Natural Voice Conversations&lt;/p&gt;

&lt;p&gt;DhanVaani understands spoken conversations and responds using an Indian English voice powered by Murf Falcon.&lt;/p&gt;

&lt;p&gt;The goal was to make conversations sound natural rather than robotic.&lt;/p&gt;

&lt;p&gt;Personality &amp;amp; Safety&lt;/p&gt;

&lt;p&gt;The assistant has:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Clear objectives&lt;/li&gt;
&lt;li&gt;Financial-service specific guardrails&lt;/li&gt;
&lt;li&gt;Code-mixed language support&lt;/li&gt;
&lt;li&gt;Honest responses when information is unavailable&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;It never asks for:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;OTPs&lt;/li&gt;
&lt;li&gt;PINs&lt;/li&gt;
&lt;li&gt;Account numbers&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;and avoids making promises about government approvals.&lt;/p&gt;

&lt;p&gt;Modern Voice Interface&lt;/p&gt;

&lt;p&gt;I designed a frontend showing the current conversation state:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Ready&lt;/li&gt;
&lt;li&gt;Connecting&lt;/li&gt;
&lt;li&gt;Listening&lt;/li&gt;
&lt;li&gt;Speaking&lt;/li&gt;
&lt;li&gt;Call Ended&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The interface also provides microphone permission guidance for first-time users.&lt;/p&gt;

&lt;p&gt;Persistent Memory&lt;/p&gt;

&lt;p&gt;Returning users no longer need to introduce themselves again.&lt;/p&gt;

&lt;p&gt;With user consent, DhanVaani remembers:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Name&lt;/li&gt;
&lt;li&gt;Preferred language&lt;/li&gt;
&lt;li&gt;Previous conversations&lt;/li&gt;
&lt;li&gt;Previously checked schemes&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This creates much more natural follow-up conversations.&lt;/p&gt;

&lt;p&gt;Real Tool Calling&lt;/p&gt;

&lt;p&gt;Instead of relying only on the language model, DhanVaani can use tools to:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Check government scheme eligibility&lt;/li&gt;
&lt;li&gt;Recommend relevant schemes&lt;/li&gt;
&lt;li&gt;Provide required document lists&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This makes responses more reliable and practical.&lt;/p&gt;

&lt;p&gt;Outbound Calling&lt;/p&gt;

&lt;p&gt;Using LiveKit Telephony and Linphone, DhanVaani can initiate outbound calls instead of waiting for users to contact it.&lt;/p&gt;

&lt;p&gt;This opens possibilities such as:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Scheme reminders&lt;/li&gt;
&lt;li&gt;Deadline notifications&lt;/li&gt;
&lt;li&gt;Follow-up conversations&lt;/li&gt;
&lt;li&gt;Human Escalation&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;AI should know its limits.&lt;/p&gt;

&lt;p&gt;Whenever a situation requires human intervention, DhanVaani:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Requests user consent&lt;/li&gt;
&lt;li&gt;Creates an escalation request&lt;/li&gt;
&lt;li&gt;Generates a reference ID&lt;/li&gt;
&lt;li&gt;Explains the next steps clearly&lt;/li&gt;
&lt;li&gt;Call Analytics Dashboard&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;To understand how well the assistant performs, I built an analytics dashboard that tracks:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Total Calls&lt;/li&gt;
&lt;li&gt;Successful Calls&lt;/li&gt;
&lt;li&gt;Failed Calls&lt;/li&gt;
&lt;li&gt;Success Rate&lt;/li&gt;
&lt;li&gt;Recent Call History&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The dashboard is driven by real call data rather than hardcoded values.&lt;/p&gt;

&lt;p&gt;Multi-Agent Architecture&lt;/p&gt;

&lt;p&gt;The final enhancement was introducing specialist agents.&lt;/p&gt;

&lt;p&gt;The main assistant now hands complex government scheme queries to a dedicated Government Scheme Specialist.&lt;/p&gt;

&lt;p&gt;The specialist:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Receives conversation context&lt;/li&gt;
&lt;li&gt;Continues naturally&lt;/li&gt;
&lt;li&gt;Returns control after completing its task&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The user never has to repeat information.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Challenges I Faced&lt;/li&gt;
&lt;li&gt;SIP Audio Issues&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;One of the biggest challenges was outbound telephony.&lt;/p&gt;

&lt;p&gt;Although the outbound call connected successfully, ensuring proper two-way communication required debugging SIP configuration, media routing, and audio handling.&lt;/p&gt;

&lt;p&gt;This taught me that building production voice systems involves much more than connecting an LLM to speech APIs.&lt;/p&gt;

&lt;p&gt;Prompt Engineering&lt;/p&gt;

&lt;p&gt;Another challenge was preventing the assistant from becoming overly verbose.&lt;/p&gt;

&lt;p&gt;Voice agents need short, conversational responses rather than long paragraphs designed for reading.&lt;/p&gt;

&lt;p&gt;Designing prompts specifically for speech made a noticeable difference.&lt;/p&gt;

&lt;p&gt;How You Can Build Your Own Voice Agent&lt;/p&gt;

&lt;p&gt;Getting started is surprisingly straightforward.&lt;/p&gt;

&lt;p&gt;Clone the repository&lt;br&gt;
git clone &lt;br&gt;
Configure API Keys&lt;/p&gt;

&lt;p&gt;Create a .env.local file.&lt;/p&gt;

&lt;p&gt;Add your:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;LiveKit credentials&lt;/li&gt;
&lt;li&gt;Murf API key&lt;/li&gt;
&lt;li&gt;Deepgram API key&lt;/li&gt;
&lt;li&gt;Gemini API key&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Never commit these keys to GitHub.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Install dependencies&lt;/li&gt;
&lt;li&gt;uv sync&lt;/li&gt;
&lt;li&gt;Download models&lt;/li&gt;
&lt;li&gt;uv run python src/agent.py download-files&lt;/li&gt;
&lt;li&gt;Start the agent&lt;/li&gt;
&lt;li&gt;uv run python src/agent.py dev&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Open the frontend, connect to the agent, and start speaking.&lt;/p&gt;

&lt;p&gt;What I'd Improve Next&lt;/p&gt;

&lt;p&gt;If I continue developing DhanVaani, I would like to add:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;RAG over official government documents&lt;/li&gt;
&lt;li&gt;Multiple financial specialists&lt;/li&gt;
&lt;li&gt;Better multilingual speech synthesis&lt;/li&gt;
&lt;li&gt;Automatic follow-up calls&lt;/li&gt;
&lt;li&gt;Personalized financial planning&lt;/li&gt;
&lt;li&gt;Admin dashboard for human agents&lt;/li&gt;
&lt;li&gt;Cloud deployment&lt;/li&gt;
&lt;li&gt;Production monitoring&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;What I Learned&lt;/p&gt;

&lt;p&gt;This challenge completely changed how I think about conversational AI.&lt;/p&gt;

&lt;p&gt;A real voice assistant is far more than:&lt;/p&gt;

&lt;p&gt;Speech-to-Text → LLM → Text-to-Speech.&lt;/p&gt;

&lt;p&gt;A production-quality system also needs:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Safety&lt;/li&gt;
&lt;li&gt;Memory&lt;/li&gt;
&lt;li&gt;Tools&lt;/li&gt;
&lt;li&gt;Human escalation&lt;/li&gt;
&lt;li&gt;Analytics&lt;/li&gt;
&lt;li&gt;Telephony&lt;/li&gt;
&lt;li&gt;Multi-agent collaboration&lt;/li&gt;
&lt;li&gt;Privacy&lt;/li&gt;
&lt;li&gt;Good UX&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Each day's challenge built toward something much larger than a chatbot.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Conclusion&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Building DhanVaani over these ten days has been an incredible learning experience.&lt;/p&gt;

&lt;p&gt;I now have a much deeper understanding of voice AI systems, real-time communication, tool integration, prompt engineering, and production-oriented AI design.&lt;/p&gt;

&lt;p&gt;Huge thanks to Murf AI for organizing the VoiceForBharat challenge and providing an opportunity to learn by building.&lt;/p&gt;

</description>
      <category>10daysofaivoiceagents</category>
      <category>murffalcon</category>
      <category>voiceforbharat</category>
    </item>
  </channel>
</rss>
