<?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: Madhav Rajak</title>
    <description>The latest articles on DEV Community by Madhav Rajak (@madhav_rajak_c06f53fe76f5).</description>
    <link>https://dev.to/madhav_rajak_c06f53fe76f5</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%2F4079043%2F1fa42a1c-b2c6-4e9a-a883-87b5f67cb090.png</url>
      <title>DEV Community: Madhav Rajak</title>
      <link>https://dev.to/madhav_rajak_c06f53fe76f5</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/madhav_rajak_c06f53fe76f5"/>
    <language>en</language>
    <item>
      <title>Building a Financial Services Voice Agent for Bharat — My 10 Days of Voice Agents Journey</title>
      <dc:creator>Madhav Rajak</dc:creator>
      <pubDate>Sat, 15 Aug 2026 13:39:43 +0000</pubDate>
      <link>https://dev.to/madhav_rajak_c06f53fe76f5/building-a-financial-services-voice-agent-for-bharat-my-10-days-of-voice-agents-journey-1c46</link>
      <guid>https://dev.to/madhav_rajak_c06f53fe76f5/building-a-financial-services-voice-agent-for-bharat-my-10-days-of-voice-agents-journey-1c46</guid>
      <description>&lt;h2&gt;
  
  
  Building a Financial Services Voice Agent for Bharat — My 10 Days of Voice Agents Journey
&lt;/h2&gt;

&lt;h2&gt;
  
  
  Introduction
&lt;/h2&gt;

&lt;p&gt;Over the last 10 days, I participated in the &lt;strong&gt;10 Days of Voice Agents — VoiceForBharat Edition&lt;/strong&gt;, where I built and improved a real-time voice agent step by step.&lt;/p&gt;

&lt;p&gt;My project focused on &lt;strong&gt;financial services&lt;/strong&gt;, where users often need help understanding eligibility, required documents, and basic financial information.&lt;/p&gt;

&lt;p&gt;Instead of forcing users to navigate complicated forms or applications, I wanted to build an agent that could have a natural conversation with them, understand their requirements, provide useful information, and connect them with a human or specialist when needed.&lt;/p&gt;

&lt;p&gt;For the voice experience, I used &lt;strong&gt;Murf Falcon&lt;/strong&gt;, which helped me create a fast and natural Indian voice experience.&lt;/p&gt;




&lt;h2&gt;
  
  
  1. The Problem I Wanted to Solve
&lt;/h2&gt;

&lt;p&gt;Financial services can sometimes be difficult for users because the process may involve:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Eligibility checks&lt;/li&gt;
&lt;li&gt;Document requirements&lt;/li&gt;
&lt;li&gt;Repeated questions&lt;/li&gt;
&lt;li&gt;Complex information&lt;/li&gt;
&lt;li&gt;Human support&lt;/li&gt;
&lt;li&gt;Different types of customer requests&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;A voice-based assistant can make this process easier.&lt;/p&gt;

&lt;p&gt;Users can simply speak with the agent instead of filling out long forms or searching through different pages.&lt;/p&gt;

&lt;p&gt;My target users are people who want quick and simple assistance while checking financial eligibility or understanding what documents they need.&lt;/p&gt;

&lt;p&gt;Voice is especially useful because users can interact naturally, including through Indian languages or code-mixed conversations.&lt;/p&gt;




&lt;h2&gt;
  
  
  2. What My Voice Agent Does
&lt;/h2&gt;

&lt;p&gt;My financial services voice agent can:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Talk naturally with users&lt;/li&gt;
&lt;li&gt;Understand user requests&lt;/li&gt;
&lt;li&gt;Follow defined objectives and safety guardrails&lt;/li&gt;
&lt;li&gt;Handle Indian and code-mixed conversations&lt;/li&gt;
&lt;li&gt;Perform useful tool-based actions&lt;/li&gt;
&lt;li&gt;Remember returning users&lt;/li&gt;
&lt;li&gt;Make outbound calls&lt;/li&gt;
&lt;li&gt;Escalate conversations to a human&lt;/li&gt;
&lt;li&gt;Transfer conversations to specialist agents&lt;/li&gt;
&lt;li&gt;Track call outcomes&lt;/li&gt;
&lt;li&gt;Display call analytics through a dashboard&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The goal was not just to create a chatbot that talks.&lt;/p&gt;

&lt;p&gt;I wanted to build a complete voice workflow where the agent can understand the conversation, take appropriate actions, and know when it should stop and involve a human.&lt;/p&gt;




&lt;h2&gt;
  
  
  3. How the System Works
&lt;/h2&gt;

&lt;p&gt;The basic architecture of the project looks like this:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;User Voice → Speech-to-Text → LLM/Agent → Tools &amp;amp; Memory → Text-to-Speech → User&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The real-time communication layer connects these components so that the conversation feels natural.&lt;/p&gt;

&lt;p&gt;The main components are:&lt;/p&gt;

&lt;h3&gt;
  
  
  Speech-to-Text
&lt;/h3&gt;

&lt;p&gt;The user's voice is converted into text so that the agent can understand what the user is saying.&lt;/p&gt;

&lt;h3&gt;
  
  
  LLM
&lt;/h3&gt;

&lt;p&gt;The language model processes the user's request, decides what the agent should say, and determines whether it needs to use a tool or transfer the conversation.&lt;/p&gt;

&lt;h3&gt;
  
  
  Tools
&lt;/h3&gt;

&lt;p&gt;Tools allow the agent to perform useful actions instead of only generating text.&lt;/p&gt;

&lt;p&gt;For example, the agent can use tools for financial eligibility checks or document-related information.&lt;/p&gt;

&lt;h3&gt;
  
  
  Text-to-Speech
&lt;/h3&gt;

&lt;p&gt;The response generated by the agent is converted back into speech.&lt;/p&gt;

&lt;p&gt;For my project, I used &lt;strong&gt;Murf Falcon&lt;/strong&gt; for the voice output.&lt;/p&gt;

&lt;h3&gt;
  
  
  Real-Time Transport
&lt;/h3&gt;

&lt;p&gt;A real-time communication layer handles the audio communication between the user and the voice agent.&lt;/p&gt;




&lt;h2&gt;
  
  
  4. Important Features I Built
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Indian Voice with Murf Falcon
&lt;/h3&gt;

&lt;p&gt;One of the important parts of my project was creating a voice experience suitable for Indian users.&lt;/p&gt;

&lt;p&gt;I used &lt;strong&gt;Murf Falcon&lt;/strong&gt; as the TTS engine to generate a fast and natural voice response.&lt;/p&gt;

&lt;p&gt;The goal was to make the agent feel less like a robotic system and more like a real assistant.&lt;/p&gt;

&lt;h3&gt;
  
  
  Personality and Guardrails
&lt;/h3&gt;

&lt;p&gt;I defined the agent's personality, objectives, and safety rules.&lt;/p&gt;

&lt;p&gt;The agent should provide useful information but should not make unsafe assumptions or expose sensitive information.&lt;/p&gt;

&lt;p&gt;This became especially important for a financial services use case.&lt;/p&gt;

&lt;h3&gt;
  
  
  Indian Languages and Code-Mixed Conversations
&lt;/h3&gt;

&lt;p&gt;Users do not always communicate in formal English.&lt;/p&gt;

&lt;p&gt;They may use Hindi, English, or a mixture of both.&lt;/p&gt;

&lt;p&gt;Designing the agent to handle this type of conversation makes the system more practical for Indian users.&lt;/p&gt;

&lt;h3&gt;
  
  
  Agent State Frontend
&lt;/h3&gt;

&lt;p&gt;I also created a frontend that shows the current state of the voice agent.&lt;/p&gt;

&lt;p&gt;This helps visualize what is happening during a call, such as when the agent is listening, speaking, processing, or using a tool.&lt;/p&gt;

&lt;h3&gt;
  
  
  Memory
&lt;/h3&gt;

&lt;p&gt;The agent can remember useful information about returning users.&lt;/p&gt;

&lt;p&gt;This helps avoid asking the same questions repeatedly and makes future conversations more personalized.&lt;/p&gt;

&lt;h3&gt;
  
  
  Tools
&lt;/h3&gt;

&lt;p&gt;The agent can use tools to fetch or calculate useful information.&lt;/p&gt;

&lt;p&gt;This makes the agent more than just a conversational AI system.&lt;/p&gt;

&lt;h3&gt;
  
  
  Outbound Calls
&lt;/h3&gt;

&lt;p&gt;I also explored outbound calling, where the agent can initiate a phone conversation instead of only waiting for the user to call.&lt;/p&gt;

&lt;h3&gt;
  
  
  Human Escalation
&lt;/h3&gt;

&lt;p&gt;A voice agent should not try to solve everything.&lt;/p&gt;

&lt;p&gt;When a request requires human assistance, the agent can escalate the conversation to a human.&lt;/p&gt;

&lt;h3&gt;
  
  
  Specialist Handoffs
&lt;/h3&gt;

&lt;p&gt;I also implemented the idea of transferring conversations between specialized agents.&lt;/p&gt;

&lt;p&gt;For example, a general agent can understand the user's problem and then hand the conversation to a specialist when the request requires a specific type of support.&lt;/p&gt;

&lt;h3&gt;
  
  
  Call Analytics Dashboard
&lt;/h3&gt;

&lt;p&gt;One of the final features I built was a call analytics dashboard.&lt;/p&gt;

&lt;p&gt;It tracks important information such as:&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;Real call outcomes&lt;/li&gt;
&lt;li&gt;Success rate&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;For my project, a successful call means that the user completes the financial eligibility check or receives the required document information.&lt;/p&gt;

&lt;p&gt;I also made sure that sensitive information such as OTPs and private customer data is not exposed in analytics.&lt;/p&gt;




&lt;h2&gt;
  
  
  5. The Most Difficult Parts
&lt;/h2&gt;

&lt;p&gt;The hardest part was not simply making the agent speak.&lt;/p&gt;

&lt;p&gt;The real challenge was making different parts of the system work together reliably.&lt;/p&gt;

&lt;p&gt;For example, a voice agent needs to handle:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Audio → Understanding → Decision → Tool → Response → Audio&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Any delay or incorrect decision can make the conversation feel unnatural.&lt;/p&gt;

&lt;p&gt;Another challenge was handling sensitive financial information.&lt;/p&gt;

&lt;p&gt;Initially, it is easy to focus only on whether the agent gives the correct answer. But in a real financial application, we also need to think about what information should never be stored or displayed.&lt;/p&gt;

&lt;p&gt;I solved this by adding stronger guardrails and making sure sensitive information such as OTPs and private customer information was not included in analytics.&lt;/p&gt;

&lt;p&gt;I also learned that human escalation is not a failure.&lt;/p&gt;

&lt;p&gt;Sometimes the best decision for an AI agent is to recognize its limitation and transfer the conversation to a human or specialist.&lt;/p&gt;




&lt;h2&gt;
  
  
  6. How You Can Build Your Own Voice Agent
&lt;/h2&gt;

&lt;p&gt;If you want to build a similar project, start with four basic components:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Speech-to-Text&lt;/strong&gt; — converts the user's voice into text.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;LLM&lt;/strong&gt; — understands the request and decides what to do.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Text-to-Speech&lt;/strong&gt; — converts the response into natural speech.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Real-Time Transport&lt;/strong&gt; — moves audio between the user and the agent.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;A simple development flow is:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;User
  ↓
Microphone
  ↓
Speech-to-Text
  ↓
LLM / Voice Agent
  ↓
Tools / Memory / APIs
  ↓
Text-to-Speech
  ↓
User
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;For the project setup, first clone the public repository and install the required dependencies.&lt;/p&gt;

&lt;p&gt;Then create your environment configuration file and add your API keys there.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Never hard-code API keys inside your source code or publish them on GitHub.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;A typical environment file can look like:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;LLM_API_KEY=your_key_here
MURF_API_KEY=your_key_here
OTHER_API_KEY=your_key_here
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Keep the &lt;code&gt;.env&lt;/code&gt; file inside &lt;code&gt;.gitignore&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;After configuring the required services, start the voice agent and connect to it through the frontend or supported real-time client.&lt;/p&gt;

&lt;p&gt;Then test simple conversations first before adding advanced features such as tools, memory, outbound calls, and handoffs.&lt;/p&gt;

&lt;h3&gt;
  
  
  Project Repository
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;GitHub:&lt;/strong&gt; &lt;code&gt;[ADD YOUR PUBLIC GITHUB REPOSITORY LINK]&lt;/code&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Demo
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Demo:&lt;/strong&gt; &lt;code&gt;[ADD YOUR DEMO LINK]&lt;/code&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  7. What I Learned
&lt;/h2&gt;

&lt;p&gt;This challenge taught me that building a voice agent is much more than connecting an LLM to a TTS API.&lt;/p&gt;

&lt;p&gt;A useful voice agent needs:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Good conversation design&lt;/li&gt;
&lt;li&gt;Low latency&lt;/li&gt;
&lt;li&gt;Clear objectives&lt;/li&gt;
&lt;li&gt;Safety guardrails&lt;/li&gt;
&lt;li&gt;Reliable tools&lt;/li&gt;
&lt;li&gt;Memory&lt;/li&gt;
&lt;li&gt;Error handling&lt;/li&gt;
&lt;li&gt;Human escalation&lt;/li&gt;
&lt;li&gt;Analytics&lt;/li&gt;
&lt;li&gt;Privacy considerations&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The biggest lesson for me was that a production-ready voice agent should know not only &lt;strong&gt;what to say&lt;/strong&gt;, but also &lt;strong&gt;what action to take and when to involve a human&lt;/strong&gt;.&lt;/p&gt;




&lt;h2&gt;
  
  
  8. What I Would Improve Next
&lt;/h2&gt;

&lt;p&gt;There are still many things I would like to improve.&lt;/p&gt;

&lt;p&gt;My next improvements would include:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Better multilingual support&lt;/li&gt;
&lt;li&gt;More financial tools&lt;/li&gt;
&lt;li&gt;Better personalization&lt;/li&gt;
&lt;li&gt;Improved analytics&lt;/li&gt;
&lt;li&gt;More accurate call outcome detection&lt;/li&gt;
&lt;li&gt;Better latency optimization&lt;/li&gt;
&lt;li&gt;More specialist agents&lt;/li&gt;
&lt;li&gt;Stronger privacy and security&lt;/li&gt;
&lt;li&gt;More real-world testing&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;I would also like to test the agent with a larger number of real conversations and use those results to improve the system.&lt;/p&gt;




&lt;h2&gt;
  
  
  9. Final Thoughts
&lt;/h2&gt;

&lt;p&gt;The &lt;strong&gt;10 Days of Voice Agents — VoiceForBharat Edition&lt;/strong&gt; was a great learning experience.&lt;/p&gt;

&lt;p&gt;In 10 days, I went from understanding the basics of voice agents to building a complete financial services voice workflow with tools, memory, outbound calling, human escalation, specialist handoffs, and analytics.&lt;/p&gt;

&lt;p&gt;The biggest takeaway is simple:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Voice AI is not just about making an AI speak. It is about creating a system that can listen, understand, act, and know when to ask for human help.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;I am excited to continue improving this project and explore more real-world applications of voice AI for India.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Built with Murf Falcon and a lot of learning. 🚀&lt;/strong&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Useful Resources
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Murf LiveKit Starter: &lt;a href="https://github.com/rajakmadhav07/murf-livekit-starter" rel="noopener noreferrer"&gt;https://github.com/rajakmadhav07/murf-livekit-starter&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Murf Falcon 2 Documentation: &lt;a href="https://murf.ai/api/docs/text-to-speech-models/falcon-2" rel="noopener noreferrer"&gt;https://murf.ai/api/docs/text-to-speech-models/falcon-2&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;LiveKit Voice AI Quickstart: &lt;a href="https://docs.livekit.io/agents/start/voice-ai/" rel="noopener noreferrer"&gt;https://docs.livekit.io/agents/start/voice-ai/&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>webdev</category>
      <category>voice</category>
      <category>ai</category>
      <category>programming</category>
    </item>
  </channel>
</rss>
