<?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: Vamshi Krishna</title>
    <description>The latest articles on DEV Community by Vamshi Krishna (@vamshi_krishna_27bdf365a1).</description>
    <link>https://dev.to/vamshi_krishna_27bdf365a1</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%2F4078523%2F1aa23d76-45a0-4d30-b722-8b3fa7292299.png</url>
      <title>DEV Community: Vamshi Krishna</title>
      <link>https://dev.to/vamshi_krishna_27bdf365a1</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/vamshi_krishna_27bdf365a1"/>
    <language>en</language>
    <item>
      <title>Building AarogyaMitra: My 10-Day Journey Building a Voice AI Agent for Healthcare Access</title>
      <dc:creator>Vamshi Krishna</dc:creator>
      <pubDate>Sat, 15 Aug 2026 06:05:27 +0000</pubDate>
      <link>https://dev.to/vamshi_krishna_27bdf365a1/building-aarogyamitra-my-10-day-journey-building-a-voice-ai-agent-for-healthcare-access-3ig5</link>
      <guid>https://dev.to/vamshi_krishna_27bdf365a1/building-aarogyamitra-my-10-day-journey-building-a-voice-ai-agent-for-healthcare-access-3ig5</guid>
      <description>&lt;h2&gt;
  
  
  From a Simple Voice Conversation to a Multi-Capability Healthcare Voice Agent
&lt;/h2&gt;

&lt;p&gt;Over the past 10 days, I had the opportunity to participate in &lt;strong&gt;10 Days of Voice Agents — VoiceForBharat Edition&lt;/strong&gt;, a challenge focused on learning how to build practical, real-world voice AI agents.&lt;/p&gt;

&lt;p&gt;Instead of treating the challenge as just a series of coding tasks, I wanted to build something around a problem that genuinely matters: &lt;strong&gt;making healthcare access more conversational and accessible through voice.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;That idea became &lt;strong&gt;AarogyaMitra&lt;/strong&gt; — a voice-first healthcare access assistant designed to interact with users naturally, provide useful assistance, use tools when required, remember relevant user context, and involve humans or specialist agents when the situation requires it.&lt;/p&gt;

&lt;p&gt;This article documents my journey, the architecture behind the project, the important features I built, the challenges I faced, and what I learned while developing a real-time voice AI system.&lt;/p&gt;




&lt;h2&gt;
  
  
  What is AarogyaMitra?
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;AarogyaMitra&lt;/strong&gt; is a voice AI assistant focused on the &lt;strong&gt;Health Access&lt;/strong&gt; track of the VoiceForBharat challenge.&lt;/p&gt;

&lt;p&gt;The goal is simple:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Make healthcare assistance more accessible through natural voice conversations.&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Many digital healthcare experiences assume that users are comfortable reading, typing, navigating menus, and interacting with conventional applications.&lt;/p&gt;

&lt;p&gt;Voice can provide a more natural alternative.&lt;/p&gt;

&lt;p&gt;Instead of searching through menus or typing a question, a user can simply speak to the assistant and have a conversation.&lt;/p&gt;

&lt;p&gt;AarogyaMitra is designed around this idea.&lt;/p&gt;

&lt;h3&gt;
  
  
  The core objectives are:
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Make healthcare-related interactions more conversational&lt;/li&gt;
&lt;li&gt;Provide a simple voice-first interface&lt;/li&gt;
&lt;li&gt;Use AI tools when additional information or actions are required&lt;/li&gt;
&lt;li&gt;Maintain useful context during conversations&lt;/li&gt;
&lt;li&gt;Follow safety-oriented guardrails&lt;/li&gt;
&lt;li&gt;Escalate situations that require human assistance&lt;/li&gt;
&lt;li&gt;Route specialized requests to a specialist agent&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;AarogyaMitra is intended to &lt;strong&gt;assist users, not replace qualified healthcare professionals&lt;/strong&gt;. Safety and appropriate escalation are therefore important parts of the system.&lt;/p&gt;




&lt;h1&gt;
  
  
  Why Voice AI for Healthcare Access?
&lt;/h1&gt;

&lt;p&gt;Voice changes the way users interact with technology.&lt;/p&gt;

&lt;p&gt;A traditional application might require:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Open app → Find feature → Type query → Read result&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;A voice assistant can reduce that interaction to:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Speak → Listen → Respond&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;This can be particularly useful when users prefer speaking over typing or when navigating a conventional interface is inconvenient.&lt;/p&gt;

&lt;p&gt;For healthcare access, conversational interaction can also make the experience feel more approachable.&lt;/p&gt;

&lt;p&gt;However, healthcare is a sensitive domain. A voice agent should not simply answer everything confidently.&lt;/p&gt;

&lt;p&gt;That is why AarogyaMitra was designed with &lt;strong&gt;guardrails, escalation paths, and specialist handoffs&lt;/strong&gt; rather than treating the AI as an unrestricted chatbot.&lt;/p&gt;




&lt;h1&gt;
  
  
  What I Built During the 10-Day Challenge
&lt;/h1&gt;

&lt;p&gt;The biggest lesson from this challenge was that a useful voice agent is much more than speech input and speech output.&lt;/p&gt;

&lt;p&gt;Over the 10 days, I gradually added capabilities that transformed the initial agent into a more complete voice AI system.&lt;/p&gt;

&lt;h2&gt;
  
  
  1. Natural Voice Conversations
&lt;/h2&gt;

&lt;p&gt;The foundation was creating an agent capable of having a real-time conversation with the user.&lt;/p&gt;

&lt;p&gt;The basic interaction follows:&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
     ↓
Speech-to-Text
     ↓
AI Agent / LLM
     ↓
Response Generation
     ↓
Text-to-Speech
     ↓
User hears the response
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This creates a conversational loop rather than a traditional request-response interface.&lt;/p&gt;




&lt;h2&gt;
  
  
  2. Indian Voice with Murf Falcon
&lt;/h2&gt;

&lt;p&gt;One of the important parts of the project was giving the agent a natural voice.&lt;/p&gt;

&lt;p&gt;For text-to-speech, I used &lt;strong&gt;Murf Falcon&lt;/strong&gt;, the fastest TTS API highlighted by the challenge.&lt;/p&gt;

&lt;p&gt;The goal was not simply to convert text into audio, but to make the interaction feel more natural and suitable for a voice-first application.&lt;/p&gt;

&lt;p&gt;The voice layer is particularly important because even a technically powerful AI system can feel frustrating if responses are slow, unnatural, or difficult to understand.&lt;/p&gt;




&lt;h2&gt;
  
  
  3. Personality and Safety Guardrails
&lt;/h2&gt;

&lt;p&gt;An AI agent needs more than a model.&lt;/p&gt;

&lt;p&gt;It needs clear instructions defining:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Its role&lt;/li&gt;
&lt;li&gt;What it should help with&lt;/li&gt;
&lt;li&gt;How it should communicate&lt;/li&gt;
&lt;li&gt;What it should avoid&lt;/li&gt;
&lt;li&gt;When it should ask for clarification&lt;/li&gt;
&lt;li&gt;When it should involve a human&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;For a healthcare-oriented agent, these boundaries are especially important.&lt;/p&gt;

&lt;p&gt;AarogyaMitra is designed to provide assistance and information while avoiding the assumption that an AI system should independently make high-stakes medical decisions.&lt;/p&gt;

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

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;A good AI agent is not only defined by what it can do, but also by what it knows it should not do.&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;




&lt;h1&gt;
  
  
  4. Memory for Better Conversations
&lt;/h1&gt;

&lt;p&gt;Another major step was adding memory.&lt;/p&gt;

&lt;p&gt;Without memory, every interaction can feel disconnected.&lt;/p&gt;

&lt;p&gt;With memory, the system can maintain relevant information about returning users and provide a more continuous experience.&lt;/p&gt;

&lt;p&gt;The concept can be represented as:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Returning User
      ↓
Retrieve Relevant Context
      ↓
Voice Conversation
      ↓
Agent Uses Context
      ↓
More Personalized Interaction
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Memory makes the agent feel less like a collection of isolated questions and more like an ongoing assistant.&lt;/p&gt;

&lt;p&gt;At the same time, memory must be handled carefully, especially for sensitive information.&lt;/p&gt;




&lt;h1&gt;
  
  
  5. Tools: Giving the Agent the Ability to Do More
&lt;/h1&gt;

&lt;p&gt;A language model alone is limited to generating responses.&lt;/p&gt;

&lt;p&gt;Tools allow an agent to interact with external functionality.&lt;/p&gt;

&lt;p&gt;Instead of asking the model to invent an answer, the agent can use a tool when the required information or action belongs outside the model itself.&lt;/p&gt;

&lt;p&gt;Conceptually:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;User Request
     ↓
Agent Understands Intent
     ↓
Does this require a tool?
     ↓
   Yes → Execute Tool
     ↓
Process Result
     ↓
Generate Voice Response
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This was an important transition in my project because the agent became capable of doing more than simply having a conversation.&lt;/p&gt;




&lt;h1&gt;
  
  
  6. Human Escalation
&lt;/h1&gt;

&lt;p&gt;One of the most important lessons I learned was that &lt;strong&gt;AI should not always try to handle everything itself.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Some situations require human assistance.&lt;/p&gt;

&lt;p&gt;AarogyaMitra therefore includes a path for escalating conversations when the AI should not continue independently.&lt;/p&gt;

&lt;p&gt;The basic 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
 ↓
AI Agent
 ↓
Determine whether human help is required
 ↓
Human Escalation
 ↓
Specialist / Human Support
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This is particularly important in sensitive domains such as healthcare.&lt;/p&gt;

&lt;p&gt;A strong AI system should know when to say:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;"This is something where human assistance would be more appropriate."&lt;/p&gt;
&lt;/blockquote&gt;




&lt;h1&gt;
  
  
  7. Outbound Voice Calls
&lt;/h1&gt;

&lt;p&gt;The challenge also introduced outbound calling.&lt;/p&gt;

&lt;p&gt;This expanded the project beyond a user simply opening a webpage and talking to an agent.&lt;/p&gt;

&lt;p&gt;The system can be used as part of an outbound voice workflow, creating another way for an AI agent to interact with users.&lt;/p&gt;

&lt;p&gt;This introduced a completely different set of considerations around:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Call initiation&lt;/li&gt;
&lt;li&gt;Voice interaction&lt;/li&gt;
&lt;li&gt;User experience&lt;/li&gt;
&lt;li&gt;Call outcomes&lt;/li&gt;
&lt;li&gt;Reliability&lt;/li&gt;
&lt;li&gt;Privacy&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Building this made me realize that voice AI becomes significantly more complex when it moves from a controlled browser environment into real-world communication workflows.&lt;/p&gt;




&lt;h1&gt;
  
  
  8. Call Outcome Tracking and Analytics
&lt;/h1&gt;

&lt;p&gt;A production-oriented voice system should not only make calls.&lt;/p&gt;

&lt;p&gt;It should also help us understand what happened during those calls.&lt;/p&gt;

&lt;p&gt;Tracking outcomes provides useful information about:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Successful interactions&lt;/li&gt;
&lt;li&gt;Failed calls&lt;/li&gt;
&lt;li&gt;Escalations&lt;/li&gt;
&lt;li&gt;Conversation outcomes&lt;/li&gt;
&lt;li&gt;Overall system behavior&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This creates a feedback loop:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Voice Interaction
       ↓
Call Outcome
       ↓
Analytics
       ↓
Understand System Performance
       ↓
Improve the Agent
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This was another important shift in my thinking: &lt;strong&gt;building an AI agent is only one part of the problem; understanding how it performs is equally important.&lt;/strong&gt;&lt;/p&gt;




&lt;h1&gt;
  
  
  9. Specialist Agent Handoff
&lt;/h1&gt;

&lt;p&gt;One of my favorite features from the final stages of the challenge was introducing a specialist agent.&lt;/p&gt;

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

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;One agent does not need to be an expert at everything.&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Instead of making the main agent responsible for every possible healthcare-related task, a specialized agent can take over when a request requires a narrower area of expertise.&lt;/p&gt;

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

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;                 ┌── Main Agent ──→ Normal Request
                 │
User → Voice → Main Agent
                 │
                 └── Handoff ──→ Specialist Agent
                                      ↓
                              Continue Conversation
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The important part is that the user should not have to repeat their entire problem.&lt;/p&gt;

&lt;p&gt;The main agent can announce the transition, and the specialist can continue using the relevant conversation context.&lt;/p&gt;

&lt;p&gt;This introduced me to an important concept in agentic AI:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Specialization can make an AI system more manageable, rather than trying to make one agent responsible for everything.&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;




&lt;h1&gt;
  
  
  How the Complete System Fits Together
&lt;/h1&gt;

&lt;p&gt;After combining the different capabilities, AarogyaMitra can be viewed as a collection of interconnected components.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;                         ┌──────────────────┐
                         │      User        │
                         │   Voice Input    │
                         └────────┬─────────┘
                                  │
                                  ▼
                         ┌──────────────────┐
                         │ Speech-to-Text   │
                         └────────┬─────────┘
                                  │
                                  ▼
                         ┌──────────────────┐
                         │   Main Agent     │
                         │                  │
                         │ Personality      │
                         │ Guardrails       │
                         │ Memory           │
                         │ Tool Routing     │
                         └───────┬──────────┘
                                 │
               ┌─────────────────┼──────────────────┐
               │                 │                  │
               ▼                 ▼                  ▼
           ┌─────────┐     ┌────────────┐     ┌──────────────┐
           │ Memory  │     │   Tools    │     │ Human Help   │
           └─────────┘     └────────────┘     └──────────────┘
                                 │
                                 ▼
                         ┌──────────────────┐
                         │ Specialist Agent │
                         └────────┬─────────┘
                                  │
                                  ▼
                         ┌──────────────────┐
                         │ Response / LLM   │
                         └────────┬─────────┘
                                  │
                                  ▼
                         ┌──────────────────┐
                         │   Murf Falcon    │
                         │   Text-to-Speech │
                         └────────┬─────────┘
                                  │
                                  ▼
                         ┌──────────────────┐
                         │ User hears reply │
                         └──────────────────┘
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The real implementation contains more details, but this architecture captures the core idea.&lt;/p&gt;




&lt;h1&gt;
  
  
  The Technology Behind a Voice Agent
&lt;/h1&gt;

&lt;p&gt;One of the biggest things I learned is that a voice AI agent is not just an LLM.&lt;/p&gt;

&lt;p&gt;A real-time voice system typically combines several major components.&lt;/p&gt;

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

&lt;p&gt;Converts the user's spoken audio into text that the AI system can understand.&lt;/p&gt;

&lt;h3&gt;
  
  
  Large Language Model
&lt;/h3&gt;

&lt;p&gt;Processes the user's request, maintains conversational reasoning, follows instructions, and decides whether additional actions are required.&lt;/p&gt;

&lt;h3&gt;
  
  
  Tools and Application Logic
&lt;/h3&gt;

&lt;p&gt;Allow the agent to retrieve information, perform actions, or interact with external services.&lt;/p&gt;

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

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

&lt;p&gt;For AarogyaMitra, this is where &lt;strong&gt;Murf Falcon&lt;/strong&gt; plays an important role.&lt;/p&gt;

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

&lt;p&gt;A real-time communication layer connects the audio interaction and agent components so that the user can have an actual conversation instead of waiting for disconnected requests.&lt;/p&gt;




&lt;h1&gt;
  
  
  Some of the Challenges I Faced
&lt;/h1&gt;

&lt;p&gt;The development journey was not completely smooth.&lt;/p&gt;

&lt;p&gt;And honestly, that was one of the most valuable parts of the challenge.&lt;/p&gt;

&lt;h2&gt;
  
  
  Challenge 1: Connecting Multiple Components
&lt;/h2&gt;

&lt;p&gt;A voice agent requires several systems to work together.&lt;/p&gt;

&lt;p&gt;Speech recognition, the LLM, tools, TTS, real-time communication, and application logic all have to work together.&lt;/p&gt;

&lt;p&gt;A problem in one component can affect the entire conversation.&lt;/p&gt;

&lt;h3&gt;
  
  
  What I learned
&lt;/h3&gt;

&lt;p&gt;Instead of debugging everything at once, I learned to isolate the components and verify them individually before connecting them together.&lt;/p&gt;




&lt;h2&gt;
  
  
  Challenge 2: Environment Variables and API Configuration
&lt;/h2&gt;

&lt;p&gt;Voice AI applications depend on external services and API credentials.&lt;/p&gt;

&lt;p&gt;Managing these credentials correctly was important.&lt;/p&gt;

&lt;p&gt;I learned to keep sensitive information inside environment variables rather than hard-coding keys into the project.&lt;/p&gt;

&lt;p&gt;For example:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;API_KEY=your_api_key_here
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The actual key should remain private and should never be committed to GitHub.&lt;/p&gt;




&lt;h2&gt;
  
  
  Challenge 3: Making the Agent Know When to Escalate
&lt;/h2&gt;

&lt;p&gt;An AI agent should not attempt to solve every problem.&lt;/p&gt;

&lt;p&gt;Designing appropriate boundaries and escalation behavior required thinking beyond just generating a good response.&lt;/p&gt;

&lt;p&gt;The solution was to make escalation part of the agent's decision-making process rather than treating it as an afterthought.&lt;/p&gt;




&lt;h2&gt;
  
  
  Challenge 4: Specialist Handoff
&lt;/h2&gt;

&lt;p&gt;The final challenge was ensuring that the specialist agent could continue the conversation naturally.&lt;/p&gt;

&lt;p&gt;A handoff is not useful if the user has to explain everything again.&lt;/p&gt;

&lt;p&gt;The important lesson was to preserve the relevant conversation context and make the transition explicit to the user.&lt;/p&gt;




&lt;h1&gt;
  
  
  How You Can Start Building Your Own Voice Agent
&lt;/h1&gt;

&lt;p&gt;If you want to build a voice agent yourself, start small.&lt;/p&gt;

&lt;p&gt;You do not need to implement all of AarogyaMitra on day one.&lt;/p&gt;

&lt;p&gt;A good progression is:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Step 1 → Basic voice conversation
Step 2 → Add an LLM
Step 3 → Add text-to-speech
Step 4 → Define the agent's personality
Step 5 → Add guardrails
Step 6 → Add tools
Step 7 → Add memory
Step 8 → Add human escalation
Step 9 → Add specialist agents
Step 10 → Add analytics and real-world workflows
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Start with one simple use case and expand gradually.&lt;/p&gt;




&lt;h1&gt;
  
  
  Running the Project
&lt;/h1&gt;

&lt;p&gt;The general setup process is:&lt;/p&gt;

&lt;h3&gt;
  
  
  1. Clone the repository
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;git clone YOUR_GITHUB_REPOSITORY_URL
&lt;span class="nb"&gt;cd &lt;/span&gt;YOUR_PROJECT_FOLDER
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  2. Install dependencies
&lt;/h3&gt;

&lt;p&gt;Follow the dependency instructions included in the repository.&lt;/p&gt;

&lt;h3&gt;
  
  
  3. Configure environment variables
&lt;/h3&gt;

&lt;p&gt;Create your &lt;code&gt;.env&lt;/code&gt; file and add the required API credentials.&lt;/p&gt;

&lt;p&gt;For example:&lt;br&gt;
&lt;/p&gt;

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

&lt;/div&gt;



&lt;p&gt;Use your own environment variable names based on the project configuration.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Never commit the **&lt;/strong&gt;&lt;code&gt;.env&lt;/code&gt;**** file or expose real API keys publicly.**&lt;/p&gt;

&lt;h3&gt;
  
  
  4. Start the application
&lt;/h3&gt;

&lt;p&gt;Run the backend and frontend according to the instructions in the repository.&lt;/p&gt;

&lt;h3&gt;
  
  
  5. Connect to the voice agent
&lt;/h3&gt;

&lt;p&gt;Open the application and start a conversation with AarogyaMitra.&lt;/p&gt;

&lt;p&gt;Try two types of interactions:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Normal request&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The main agent should handle it directly.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Specialized request&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The main agent should recognize that another agent or workflow is more appropriate and perform the required handoff.&lt;/p&gt;




&lt;h1&gt;
  
  
  Evidence From My Build
&lt;/h1&gt;

&lt;p&gt;Throughout the challenge, I captured different stages of the project.&lt;/p&gt;

&lt;p&gt;Some of the evidence I would recommend including in this article:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;[Add Screenshot: AarogyaMitra Main Interface]&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;[Add Screenshot: Voice Conversation]&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;[Add Screenshot: Tool / Agent Interaction]&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;[Add Screenshot: Human Escalation or Call Analytics]&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;[Add Screenshot or GIF: Specialist Agent Handoff]&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;[Add Final Demo Video]&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;These visuals make the architecture and user experience easier to understand than text alone.&lt;/p&gt;




&lt;h1&gt;
  
  
  What I Learned During These 10 Days
&lt;/h1&gt;

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

&lt;p&gt;Before starting, it was easy to think about an AI assistant as:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;User → Prompt → LLM → Answer
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;After building the project, I now see a voice agent more like:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;User
 ↓
Audio
 ↓
Speech Recognition
 ↓
Agent
 ↓
Memory / Tools / Guardrails / Routing
 ↓
Specialists / Humans
 ↓
Response
 ↓
Text-to-Speech
 ↓
Audio
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The LLM is only one part of the complete system.&lt;/p&gt;

&lt;p&gt;I also learned that:&lt;/p&gt;

&lt;h3&gt;
  
  
  1. Voice UX matters
&lt;/h3&gt;

&lt;p&gt;A technically correct answer is not enough. The interaction has to feel natural.&lt;/p&gt;

&lt;h3&gt;
  
  
  2. Guardrails are essential
&lt;/h3&gt;

&lt;p&gt;Especially in sensitive domains, the agent needs clear boundaries.&lt;/p&gt;

&lt;h3&gt;
  
  
  3. Tools make agents more useful
&lt;/h3&gt;

&lt;p&gt;An agent becomes significantly more capable when it can interact with real functionality instead of only generating text.&lt;/p&gt;

&lt;h3&gt;
  
  
  4. Memory changes the experience
&lt;/h3&gt;

&lt;p&gt;Remembering relevant context can make conversations feel much more natural.&lt;/p&gt;

&lt;h3&gt;
  
  
  5. Human-in-the-loop systems are valuable
&lt;/h3&gt;

&lt;p&gt;The goal should not always be full automation. Sometimes the best AI system is one that knows when a human should take over.&lt;/p&gt;

&lt;h3&gt;
  
  
  6. Multi-agent systems can improve specialization
&lt;/h3&gt;

&lt;p&gt;Instead of making one agent responsible for everything, specialized agents can handle focused tasks.&lt;/p&gt;

&lt;h3&gt;
  
  
  7. Building is different from just learning
&lt;/h3&gt;

&lt;p&gt;The biggest lesson was that concepts such as TTS, tools, memory, guardrails, handoffs, and analytics become much easier to understand when you actually have to make them work together.&lt;/p&gt;




&lt;h1&gt;
  
  
  What I Would Build Next
&lt;/h1&gt;

&lt;p&gt;AarogyaMitra is still a starting point.&lt;/p&gt;

&lt;p&gt;If I continue developing it, I would like to explore:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;More Indian language support&lt;/li&gt;
&lt;li&gt;Better handling of code-mixed conversations&lt;/li&gt;
&lt;li&gt;More healthcare-related tools&lt;/li&gt;
&lt;li&gt;Improved appointment workflows&lt;/li&gt;
&lt;li&gt;More specialized healthcare agents&lt;/li&gt;
&lt;li&gt;Better conversation analytics&lt;/li&gt;
&lt;li&gt;Improved accessibility&lt;/li&gt;
&lt;li&gt;Stronger safety and evaluation mechanisms&lt;/li&gt;
&lt;li&gt;More robust real-world testing&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The long-term goal would be to make the system more reliable, accessible, and useful while maintaining appropriate safety boundaries.&lt;/p&gt;




&lt;h1&gt;
  
  
  Final Thoughts
&lt;/h1&gt;

&lt;p&gt;The &lt;strong&gt;10 Days of Voice Agents — VoiceForBharat Edition&lt;/strong&gt; challenge was much more than learning how to make an AI speak.&lt;/p&gt;

&lt;p&gt;It was a journey from building a basic conversational agent to understanding the broader architecture required for a useful voice AI system.&lt;/p&gt;

&lt;p&gt;Over these 10 days, I worked with concepts including:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Voice → LLM → TTS → Tools → Memory → Guardrails → Human Escalation → Outbound Calls → Analytics → Specialist Agents&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Each step introduced a new layer of complexity.&lt;/p&gt;

&lt;p&gt;But the biggest takeaway for me is simple:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Building a good AI agent is not about making the AI do everything. It is about designing the right system around the AI.&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;AarogyaMitra is my attempt to apply that idea to healthcare access through voice.&lt;/p&gt;

&lt;p&gt;I'm excited to continue exploring what voice AI can do for real-world problems, especially in India.&lt;/p&gt;




&lt;h1&gt;
  
  
  🔗 Project Links
&lt;/h1&gt;

&lt;h3&gt;
  
  
  GitHub Repository
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://github.com/Vamshikrishan/murf-livekit-ai-agent" rel="noopener noreferrer"&gt;https://github.com/Vamshikrishan/murf-livekit-ai-agent&lt;/a&gt;&lt;/p&gt;

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

&lt;p&gt;&lt;a href="https://drive.google.com/file/d/1_-pdLm-ugZ0IZ83ZxsZenJjcPbUNhC-K/view?usp=drive_link" rel="noopener noreferrer"&gt;https://drive.google.com/file/d/1_-pdLm-ugZ0IZ83ZxsZenJjcPbUNhC-K/view?usp=drive_link&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  LinkedIn
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://lnkd.in/p/de8_FYtC" rel="noopener noreferrer"&gt;https://lnkd.in/p/de8_FYtC&lt;/a&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  Acknowledgements
&lt;/h2&gt;

&lt;p&gt;A big thank you to &lt;strong&gt;Murf AI&lt;/strong&gt; for organizing the &lt;strong&gt;10 Days of Voice Agents — VoiceForBharat Edition&lt;/strong&gt; and providing an opportunity to learn by building.&lt;/p&gt;

&lt;p&gt;Special thanks for the resources and ecosystem around &lt;strong&gt;Murf Falcon&lt;/strong&gt;, LiveKit, and the voice AI community.&lt;/p&gt;

&lt;p&gt;This challenge gave me the opportunity to move beyond simply learning about AI agents and actually build one from the ground up.&lt;/p&gt;




&lt;h1&gt;
  
  
  10 Days. One Voice Agent. A Lot of Learning. 🚀
&lt;/h1&gt;

&lt;p&gt;&lt;strong&gt;Built with curiosity, experimentation, and a lot of debugging.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;#VoiceForBharat #MurfAI #VoiceAI #AIAgents #GenerativeAI #HealthcareAI #ArtificialIntelligence #MachineLearning #MurfFalcon #LiveKit&lt;/strong&gt;&lt;/p&gt;

</description>
      <category>agents</category>
      <category>ai</category>
      <category>devchallenge</category>
    </item>
  </channel>
</rss>
