<?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: agnidiptasarkar123-dev</title>
    <description>The latest articles on DEV Community by agnidiptasarkar123-dev (@agnidiptasarkar123dev).</description>
    <link>https://dev.to/agnidiptasarkar123dev</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%2F4078487%2F07b90bda-b8d9-4fd5-bc87-4b48c357ceb3.png</url>
      <title>DEV Community: agnidiptasarkar123-dev</title>
      <link>https://dev.to/agnidiptasarkar123dev</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/agnidiptasarkar123dev"/>
    <language>en</language>
    <item>
      <title>Building Arthashathi: My 10-Day Journey Building a Voice Agent for Bharat</title>
      <dc:creator>agnidiptasarkar123-dev</dc:creator>
      <pubDate>Sat, 15 Aug 2026 05:37:31 +0000</pubDate>
      <link>https://dev.to/agnidiptasarkar123dev/building-arthashathi-my-10-day-journey-building-a-voice-agent-for-bharat-334p</link>
      <guid>https://dev.to/agnidiptasarkar123dev/building-arthashathi-my-10-day-journey-building-a-voice-agent-for-bharat-334p</guid>
      <description>&lt;h2&gt;
  
  
  From a Simple Voice Assistant to a Multi-Agent Financial Guide
&lt;/h2&gt;

&lt;p&gt;Over the last 10 days, I took part in 10 Days of Voice Agents — VoiceForBharat Edition, a challenge that pushed me to go beyond simply making an AI chatbot speak.&lt;/p&gt;

&lt;p&gt;My project is Arthashathi, a voice-first financial guide designed for Indian users.&lt;/p&gt;

&lt;p&gt;The idea was simple:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;What if accessing financial information could be as easy as having a conversation?&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Instead of navigating complicated websites, searching through government portals, or trying to understand financial terminology, a user can simply speak to Arthashathi and ask for help.&lt;/p&gt;

&lt;p&gt;Over these 10 days, Arthashathi evolved from a basic voice agent into a system with memory, tools, safety guardrails, government-scheme assistance, human escalation, outbound calls, analytics, and specialist-agent handoffs.&lt;/p&gt;

&lt;p&gt;This post is a summary of what I built, what went wrong, what I learned, and how someone else could start building a similar voice agent.&lt;/p&gt;




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

&lt;p&gt;India has a huge amount of financial and government-scheme information available online.&lt;/p&gt;

&lt;p&gt;The problem is not always the lack of information.&lt;/p&gt;

&lt;p&gt;The problem is accessibility.&lt;/p&gt;

&lt;p&gt;A user may have questions such as:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;“Which government schemes am I eligible for?”&lt;/li&gt;
&lt;li&gt;“What benefits does this scheme provide?”&lt;/li&gt;
&lt;li&gt;“Is this UPI message a scam?”&lt;/li&gt;
&lt;li&gt;“How can I stay safe from banking fraud?”&lt;/li&gt;
&lt;li&gt;“Can someone explain this financial information to me simply?”&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;For someone who is not comfortable navigating websites or typing long queries, a voice conversation can be much more natural.&lt;/p&gt;

&lt;p&gt;That is why I chose to build a voice-first financial assistant rather than another text-only chatbot.&lt;/p&gt;




&lt;h2&gt;
  
  
  2. Meet Arthashathi
&lt;/h2&gt;

&lt;p&gt;Arthashathi is an AI-powered voice financial guide designed primarily for Indian users.&lt;/p&gt;

&lt;p&gt;The main agent can help users with:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Government schemes&lt;/li&gt;
&lt;li&gt;Banking safety&lt;/li&gt;
&lt;li&gt;Fraud awareness&lt;/li&gt;
&lt;li&gt;UPI safety&lt;/li&gt;
&lt;li&gt;General financial guidance&lt;/li&gt;
&lt;li&gt;Scheme eligibility&lt;/li&gt;
&lt;li&gt;Human escalation when necessary&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The system is also designed to handle Indian languages and code-mixed conversations, allowing users to communicate more naturally instead of being forced to use formal English.&lt;/p&gt;

&lt;p&gt;The voice experience is powered by Murf Falcon, with real-time communication handled using LiveKit Agents.&lt;/p&gt;




&lt;h2&gt;
  
  
  3. How Arthashathi Works
&lt;/h2&gt;

&lt;p&gt;At a high level, the system follows a real-time voice pipeline:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;             ┌──────────────────┐
             │       USER       │
             │  Speaks naturally│
             └────────┬─────────┘
                      │
                      ▼
             ┌──────────────────┐
             │   LiveKit        │
             │ Real-time Audio  │
             └────────┬─────────┘
                      │
                      ▼
             ┌──────────────────┐
             │ Speech-to-Text   │
             │      (STT)       │
             └────────┬─────────┘
                      │
                      ▼
             ┌──────────────────┐
             │      LLM         │
             │ Reasoning +      │
             │ Agent Decisions  │
             └────────┬─────────┘
                      │
          ┌───────────┼────────────┐
          ▼           ▼            ▼
       Memory       Tools      Escalation
          │           │            │
          └───────────┼────────────┘
                      │
                      ▼
             ┌──────────────────┐
             │ Specialist Agent │
             │ when required    │
             └────────┬─────────┘
                      │
                      ▼
             ┌──────────────────┐
             │ Text-to-Speech   │
             │   Murf Falcon    │
             └────────┬─────────┘
                      │
                      ▼
                   USER
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The important idea is that the LLM is not working alone.&lt;/p&gt;

&lt;p&gt;It is part of a larger system involving real-time audio transport, speech recognition, tools, memory, safety logic, and voice synthesis.&lt;/p&gt;




&lt;h2&gt;
  
  
  4. The Main Features I Built
&lt;/h2&gt;

&lt;h3&gt;
  
  
  🎙️ 1. Real-Time Voice Conversation
&lt;/h3&gt;

&lt;p&gt;The core of Arthashathi is a real-time voice interaction.&lt;/p&gt;

&lt;p&gt;The user speaks naturally, the system understands the request, generates a response, and speaks back.&lt;/p&gt;

&lt;p&gt;The voice layer uses Murf Falcon, allowing the project to focus on making the interaction feel conversational rather than robotic.&lt;/p&gt;




&lt;h3&gt;
  
  
  🧠 2. Memory for Returning Users
&lt;/h3&gt;

&lt;p&gt;One of the goals was to make Arthashathi more than a stateless chatbot.&lt;/p&gt;

&lt;p&gt;The system can maintain relevant user context so that returning users do not necessarily have to repeat everything from the beginning.&lt;/p&gt;

&lt;p&gt;This also introduced an important engineering challenge: correctly identifying the user across calls and ensuring that the correct memory was associated with the correct conversation.&lt;/p&gt;




&lt;h3&gt;
  
  
  🌐 3. Indian Languages and Code-Mixing
&lt;/h3&gt;

&lt;p&gt;Indian conversations are rarely limited to perfectly formal English.&lt;/p&gt;

&lt;p&gt;A user might naturally say something like:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;“Mujhe batao ei scheme-ta-r eligibility ki?”&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Arthashathi was designed with this reality in mind.&lt;/p&gt;

&lt;p&gt;The agent can handle Indian-language and code-mixed interactions while keeping important financial terminology understandable.&lt;/p&gt;




&lt;h3&gt;
  
  
  🛡️ 4. Safety Guardrails
&lt;/h3&gt;

&lt;p&gt;Financial assistance is a domain where an AI agent must know its limits.&lt;/p&gt;

&lt;p&gt;Arthashathi includes safety-oriented instructions around sensitive information and banking security.&lt;/p&gt;

&lt;p&gt;The system is designed not to request or expose sensitive credentials such as:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;OTPs&lt;/li&gt;
&lt;li&gt;PINs&lt;/li&gt;
&lt;li&gt;CVVs&lt;/li&gt;
&lt;li&gt;Passwords&lt;/li&gt;
&lt;li&gt;Banking credentials&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The goal is not just to make the agent helpful, but to make it responsible.&lt;/p&gt;




&lt;h3&gt;
  
  
  🏛️ 5. Government Scheme Assistance
&lt;/h3&gt;

&lt;p&gt;Government schemes became one of the core use cases of Arthashathi.&lt;/p&gt;

&lt;p&gt;I created a dedicated scheme dataset containing information such as:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Scheme name&lt;/li&gt;
&lt;li&gt;Benefits&lt;/li&gt;
&lt;li&gt;Eligibility criteria&lt;/li&gt;
&lt;li&gt;Relevant information dates&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The agent can use this information to help users understand schemes and determine whether a particular scheme may be relevant to them.&lt;/p&gt;




&lt;h3&gt;
  
  
  📞 6. Outbound Calls
&lt;/h3&gt;

&lt;p&gt;The project also explored the idea of proactive voice assistance.&lt;/p&gt;

&lt;p&gt;Instead of waiting for the user to call the agent, Arthashathi can be used for outbound reminders, such as informing eligible users about important scheme deadlines.&lt;/p&gt;

&lt;p&gt;This introduced additional considerations around consent, opt-out handling, and responsible calling.&lt;/p&gt;




&lt;h3&gt;
  
  
  🚨 7. Human Escalation
&lt;/h3&gt;

&lt;p&gt;An AI should not pretend it can solve every problem.&lt;/p&gt;

&lt;p&gt;For situations where human assistance is more appropriate, Arthashathi can escalate the conversation instead of attempting to answer beyond its capabilities.&lt;/p&gt;

&lt;p&gt;This was an important design principle throughout the project:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Knowing when not to answer is also part of being a good AI assistant.&lt;/p&gt;
&lt;/blockquote&gt;




&lt;h3&gt;
  
  
  📊 8. Call Analytics
&lt;/h3&gt;

&lt;p&gt;I also added call-level analytics to understand what is happening during conversations.&lt;/p&gt;

&lt;p&gt;This allows the system to track useful information about calls and outcomes and provides a foundation for improving the agent based on real usage.&lt;/p&gt;




&lt;h2&gt;
  
  
  5. The Specialist Agent
&lt;/h2&gt;

&lt;p&gt;One of the most interesting parts of Day 9 was implementing agent handoff.&lt;/p&gt;

&lt;p&gt;The main agent should not try to be an expert at everything.&lt;/p&gt;

&lt;p&gt;So I created a dedicated:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Government Scheme Specialist&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The architecture becomes:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;                USER
                  │
                  ▼
          ┌───────────────┐
          │  Arthashathi  │
          │  Main Agent   │
          └───────┬───────┘
                  │
        General request?
             /         \
           YES          NO
            │            │
            ▼            ▼
         Answer     Specialist Handoff
                         │
                         ▼
                ┌─────────────────┐
                │ Government      │
                │ Scheme          │
                │ Specialist      │
                └────────┬────────┘
                         │
                         ▼
                       USER
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The main agent first tells the user that it is connecting them to the specialist.&lt;/p&gt;

&lt;p&gt;The specialist then continues the conversation with the relevant context rather than forcing the user to repeat the entire problem.&lt;/p&gt;

&lt;p&gt;This was one of the most valuable lessons from the challenge:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;A good multi-agent system is not about having more agents. It is about giving each agent a clear responsibility.&lt;/p&gt;
&lt;/blockquote&gt;




&lt;h2&gt;
  
  
  6. The Problems I Faced
&lt;/h2&gt;

&lt;p&gt;This project definitely did not work perfectly on the first attempt.&lt;/p&gt;

&lt;p&gt;In fact, some of the most useful things I learned came from the failures.&lt;/p&gt;

&lt;h3&gt;
  
  
  Problem 1: “Agent did not join the room”
&lt;/h3&gt;

&lt;p&gt;At one point, the frontend could connect to the application but the agent would not reliably join the LiveKit room.&lt;/p&gt;

&lt;p&gt;After debugging the system, one major issue turned out to be an agent-name mismatch.&lt;/p&gt;

&lt;p&gt;The frontend was requesting one agent name while the backend worker was registering under another name.&lt;/p&gt;

&lt;p&gt;Because the LiveKit dispatch system relies on the correct agent identity, the worker was not receiving the expected job.&lt;/p&gt;

&lt;p&gt;Fixing the naming mismatch and cleaning up duplicate workers resolved the dispatch problem.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Lesson:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;When debugging real-time agent systems, don’t immediately assume the LLM or TTS is broken.&lt;/p&gt;

&lt;p&gt;Check the complete chain:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Frontend
   ↓
Token
   ↓
LiveKit Room
   ↓
Agent Dispatch
   ↓
Worker
   ↓
Agent Session
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h2&gt;
  
  
  7. The Latency Problem
&lt;/h2&gt;

&lt;p&gt;Another major challenge was latency.&lt;/p&gt;

&lt;p&gt;Initially, I tried making the system extremely aggressive about responding quickly.&lt;/p&gt;

&lt;p&gt;I reduced endpointing and silence thresholds so that the agent would react faster.&lt;/p&gt;

&lt;p&gt;That improved raw response speed — but introduced a new problem.&lt;/p&gt;

&lt;p&gt;The agent started interpreting normal pauses and breaths as the end of the user’s sentence.&lt;/p&gt;

&lt;p&gt;The result?&lt;/p&gt;

&lt;p&gt;The agent could interrupt too early, respond to incomplete sentences, or produce fragmented speech.&lt;/p&gt;

&lt;p&gt;I learned an important lesson:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;The lowest possible latency does not necessarily produce the best voice experience.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;A good voice agent needs a balance between:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;STT endpointing&lt;/li&gt;
&lt;li&gt;VAD silence detection&lt;/li&gt;
&lt;li&gt;Interruption handling&lt;/li&gt;
&lt;li&gt;LLM generation&lt;/li&gt;
&lt;li&gt;TTS buffering&lt;/li&gt;
&lt;li&gt;Natural conversational pauses&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Eventually, I moved toward a more balanced configuration instead of blindly minimizing every delay.&lt;/p&gt;




&lt;h2&gt;
  
  
  8. The Specialist Voice / Handoff Challenge
&lt;/h2&gt;

&lt;p&gt;Another interesting issue appeared during the specialist handoff.&lt;/p&gt;

&lt;p&gt;The specialist had its own Murf voice configuration, but changing the active agent did not automatically guarantee that the running audio pipeline would immediately use the specialist’s TTS configuration.&lt;/p&gt;

&lt;p&gt;This forced me to inspect how the LiveKit AgentSession manages its active TTS provider and how the handoff interacts with the running session.&lt;/p&gt;

&lt;p&gt;That experience taught me something important:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Changing an agent’s logic and changing the active audio pipeline are not always the same operation.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;The handoff architecture therefore required careful testing of both the conversational state and the voice pipeline.&lt;/p&gt;




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

&lt;p&gt;The biggest lesson from these 10 days is that building voice AI is much more than connecting:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Speech → LLM → Voice&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;A production-oriented voice agent involves many moving pieces:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Speech Recognition
       +
LLM Reasoning
       +
     Tools
       +
     Memory
       +
     Safety
       +
Real-Time Transport
       +
      TTS
       +
  Agent Routing
       +
    Analytics
       +
Failure Handling
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;A problem in any one of these layers can affect the entire user experience.&lt;/p&gt;

&lt;p&gt;I also learned that debugging a voice agent requires thinking about the whole system, not just individual files.&lt;/p&gt;




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

&lt;p&gt;If you’re starting your own voice-agent project, I strongly recommend starting small.&lt;/p&gt;

&lt;p&gt;You don’t need memory, specialist agents, outbound calls, analytics, and ten tools on day one.&lt;/p&gt;

&lt;p&gt;Start with:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;User speaks
     ↓
    STT
     ↓
    LLM
     ↓
    TTS
     ↓
User hears response
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Once that works reliably, add capabilities one at a time.&lt;/p&gt;

&lt;h3&gt;
  
  
  Core Components
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Speech-to-Text&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Converts the user’s audio into text that the LLM can understand.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;LLM&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Handles reasoning, conversation, instructions, routing, and tool decisions.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Text-to-Speech&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Converts the generated response back into natural speech.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Real-Time Transport&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;A framework such as LiveKit handles the real-time communication between the user and the agent.&lt;/p&gt;




&lt;h2&gt;
  
  
  11. Running the Project
&lt;/h2&gt;

&lt;p&gt;For a local development environment, the backend can be started with:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nb"&gt;cd &lt;/span&gt;backend
&lt;span class="nb"&gt;source&lt;/span&gt; .venv/bin/activate
python src/agent.py dev
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Then start the frontend separately:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nb"&gt;cd &lt;/span&gt;frontend
npm run dev
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Open the local frontend in your browser and start a voice session.&lt;/p&gt;

&lt;p&gt;I strongly recommend testing the basic conversation first before testing specialist handoffs or outbound calling.&lt;/p&gt;




&lt;h2&gt;
  
  
  12. Protect Your API Keys
&lt;/h2&gt;

&lt;p&gt;Never put API keys directly into your source code.&lt;/p&gt;

&lt;p&gt;Use environment variables instead:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;LIVEKIT_URL=your_livekit_url
LIVEKIT_API_KEY=your_livekit_api_key
LIVEKIT_API_SECRET=your_livekit_api_secret
MURF_API_KEY=your_murf_api_key
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;And make sure your environment files are excluded from Git.&lt;/p&gt;

&lt;p&gt;Never publish:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;API keys&lt;/li&gt;
&lt;li&gt;API secrets&lt;/li&gt;
&lt;li&gt;Private phone numbers&lt;/li&gt;
&lt;li&gt;Caller information&lt;/li&gt;
&lt;li&gt;Authentication credentials&lt;/li&gt;
&lt;li&gt;Private database contents&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;A public GitHub repository should contain the code, not your secrets.&lt;/p&gt;




&lt;h2&gt;
  
  
  13. My Build Journey — Day by Day
&lt;/h2&gt;

&lt;p&gt;I also recorded my progress throughout the challenge.&lt;/p&gt;

&lt;p&gt;These demos show how Arthashathi evolved from the initial voice agent into the final multi-feature system.&lt;/p&gt;

&lt;h3&gt;
  
  
  Day 1 — Starting the Voice Agent
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://drive.google.com/file/d/1FgLRQ-mrh8MINBSEWmYRueeP-1w77GwQ/view?usp=sharing" rel="noopener noreferrer"&gt;https://drive.google.com/file/d/1FgLRQ-mrh8MINBSEWmYRueeP-1w77GwQ/view?usp=sharing&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Day 2 — Personality, Instructions &amp;amp; Guardrails
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://drive.google.com/file/d/1vSXJQgFwncvczCQ4uPQ5Hfun1M2a8GPR/view?usp=sharing" rel="noopener noreferrer"&gt;https://drive.google.com/file/d/1vSXJQgFwncvczCQ4uPQ5Hfun1M2a8GPR/view?usp=sharing&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Day 3 — Memory &amp;amp; Conversation Context
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://drive.google.com/file/d/1ARUpfwl9GElC-PcGMsqp1SbNb3rQYulS/view?usp=sharing" rel="noopener noreferrer"&gt;https://drive.google.com/file/d/1ARUpfwl9GElC-PcGMsqp1SbNb3rQYulS/view?usp=sharing&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Day 4 — Tools &amp;amp; Financial Assistance
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://drive.google.com/file/d/1n3PTgmgEVSE4oQqeUEdBgRGEDK2LCjQl/view?usp=sharing" rel="noopener noreferrer"&gt;https://drive.google.com/file/d/1n3PTgmgEVSE4oQqeUEdBgRGEDK2LCjQl/view?usp=sharing&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Day 5 — Government Scheme Intelligence
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://drive.google.com/file/d/1sb0DvKLdI-DOPdHTQ-nfva4jnJMVIckl/view?usp=sharing" rel="noopener noreferrer"&gt;https://drive.google.com/file/d/1sb0DvKLdI-DOPdHTQ-nfva4jnJMVIckl/view?usp=sharing&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Day 6 — Outbound Calling
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://drive.google.com/file/d/17MQRcjLfxzn6P7NOta5lU7hKQpwuulW3/view?usp=sharing" rel="noopener noreferrer"&gt;https://drive.google.com/file/d/17MQRcjLfxzn6P7NOta5lU7hKQpwuulW3/view?usp=sharing&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Day 7 — Human Escalation
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://drive.google.com/file/d/1rSe-E0XrONoGdMumcJASb8K4w6dWxugY/view?usp=sharing" rel="noopener noreferrer"&gt;https://drive.google.com/file/d/1rSe-E0XrONoGdMumcJASb8K4w6dWxugY/view?usp=sharing&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Day 8 — Analytics &amp;amp; Additional Agent Capabilities
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://drive.google.com/file/d/1q1G0L0VnAXdtWOJsH8kmGAOOjb1wxaA4/view?usp=sharing" rel="noopener noreferrer"&gt;https://drive.google.com/file/d/1q1G0L0VnAXdtWOJsH8kmGAOOjb1wxaA4/view?usp=sharing&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Day 9 — Government Scheme Specialist Handoff
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://drive.google.com/file/d/1gvM7KV8oorAQOQz-I57QbnaWKRplNhs2/view?usp=sharing" rel="noopener noreferrer"&gt;https://drive.google.com/file/d/1gvM7KV8oorAQOQz-I57QbnaWKRplNhs2/view?usp=sharing&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Together, these demos show the progression of the project much better than a list of features alone.&lt;/p&gt;




&lt;h2&gt;
  
  
  14. What I Would Build Next
&lt;/h2&gt;

&lt;p&gt;Arthashathi is still a work in progress.&lt;/p&gt;

&lt;p&gt;Some of the things I would like to explore next are:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;More specialist agents&lt;/li&gt;
&lt;li&gt;Smarter automatic agent routing&lt;/li&gt;
&lt;li&gt;Better multilingual voice handling&lt;/li&gt;
&lt;li&gt;More robust failure recovery&lt;/li&gt;
&lt;li&gt;Better latency monitoring&lt;/li&gt;
&lt;li&gt;More detailed analytics&lt;/li&gt;
&lt;li&gt;Production deployment&lt;/li&gt;
&lt;li&gt;Larger-scale real-world testing&lt;/li&gt;
&lt;li&gt;Better personalization while preserving privacy&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;I would also like to test the system with real users and learn where the current conversation design breaks down.&lt;/p&gt;




&lt;h2&gt;
  
  
  15. Source Code
&lt;/h2&gt;

&lt;p&gt;The project is publicly available on GitHub:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Arthashathi — GitHub&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://github.com/agnidiptasarkar123-dev/murf-livekit-starter" rel="noopener noreferrer"&gt;https://github.com/agnidiptasarkar123-dev/murf-livekit-starter&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The repository contains the implementation and project structure used throughout the challenge.&lt;/p&gt;




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

&lt;p&gt;When I started this challenge, my goal was simply to build a voice agent.&lt;/p&gt;

&lt;p&gt;Ten days later, I ended up building something much more complex:&lt;/p&gt;

&lt;p&gt;A voice-first financial assistant with memory, tools, safety guardrails, government-scheme assistance, outbound calling, human escalation, analytics, and specialist-agent handoffs.&lt;/p&gt;

&lt;p&gt;But the most valuable part of the challenge wasn’t the number of features.&lt;/p&gt;

&lt;p&gt;It was learning how all these components interact.&lt;/p&gt;

&lt;p&gt;I learned how important real-time systems are, how small configuration changes can completely change a voice experience, why agent boundaries matter, and why debugging the entire pipeline is more important than debugging one component in isolation.&lt;/p&gt;

&lt;p&gt;Most importantly, I learned that building voice AI is an iterative process.&lt;/p&gt;

&lt;p&gt;Things break.&lt;/p&gt;

&lt;p&gt;Connections fail.&lt;/p&gt;

&lt;p&gt;Agents interrupt at the wrong time.&lt;/p&gt;

&lt;p&gt;Latency appears where you don’t expect it.&lt;/p&gt;

&lt;p&gt;Handoffs don’t always behave the way you imagined.&lt;/p&gt;

&lt;p&gt;And that’s exactly where the learning happens.&lt;/p&gt;

&lt;p&gt;I’m grateful to have completed 10 Days of Voice Agents — VoiceForBharat Edition, and I’m excited to keep building on Arthashathi.&lt;/p&gt;

&lt;p&gt;Thank you for reading! 🚀&lt;/p&gt;

&lt;p&gt;If you’re also building a voice agent, I’d love to hear what you’re working on.&lt;/p&gt;




&lt;h2&gt;
  
  
  Built With
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Murf Falcon(The Fastest TTS API) — Text-to-Speech&lt;/li&gt;
&lt;li&gt;LiveKit Agents — Real-time voice infrastructure&lt;/li&gt;
&lt;li&gt;Python&lt;/li&gt;
&lt;li&gt;LLM-based agent orchestration&lt;/li&gt;
&lt;li&gt;SQLite&lt;/li&gt;
&lt;li&gt;Web frontend&lt;/li&gt;
&lt;li&gt;Multi-agent handoffs&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Project
&lt;/h2&gt;

&lt;p&gt;🔗 GitHub: &lt;a href="https://github.com/agnidiptasarkar123-dev/murf-livekit-starter" rel="noopener noreferrer"&gt;https://github.com/agnidiptasarkar123-dev/murf-livekit-starter&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;🎙️ Challenge: 10 Days of Voice Agents — VoiceForBharat Edition&lt;/p&gt;

&lt;h1&gt;
  
  
  VoiceForBharat #VoiceAI #ConversationalAI #AI #VoiceAgents #LiveKit #MurfAI #GenerativeAI #Python #ArtificialIntelligence
&lt;/h1&gt;

</description>
      <category>agents</category>
      <category>ai</category>
      <category>llm</category>
      <category>startup</category>
    </item>
  </channel>
</rss>
