<?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: ABHINAV DASH</title>
    <description>The latest articles on DEV Community by ABHINAV DASH (@abhinav_dash_1).</description>
    <link>https://dev.to/abhinav_dash_1</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%2F4078795%2Fb6af20dd-57fb-4707-ae72-e31cd8c8183d.gif</url>
      <title>DEV Community: ABHINAV DASH</title>
      <link>https://dev.to/abhinav_dash_1</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/abhinav_dash_1"/>
    <language>en</language>
    <item>
      <title>From a Voice Bot to a Responsible Health Access Agent: Building Jana Seva in 10 Days</title>
      <dc:creator>ABHINAV DASH</dc:creator>
      <pubDate>Sat, 15 Aug 2026 11:57:56 +0000</pubDate>
      <link>https://dev.to/abhinav_dash_1/from-a-voice-bot-to-a-responsible-health-access-agent-building-jana-seva-in-10-days-3d28</link>
      <guid>https://dev.to/abhinav_dash_1/from-a-voice-bot-to-a-responsible-health-access-agent-building-jana-seva-in-10-days-3d28</guid>
      <description>&lt;h1&gt;
  
  
  From a Voice Bot to a Responsible Health Access Agent: Building Jana Seva in 10 Days
&lt;/h1&gt;

&lt;h2&gt;
  
  
  The Problem
&lt;/h2&gt;

&lt;p&gt;Accessing healthcare information is not always as simple as opening a website and reading a page.&lt;/p&gt;

&lt;p&gt;For many users, especially in contexts where typing, navigating websites, or understanding technical health terminology is difficult, voice can be a more natural interface.&lt;/p&gt;

&lt;p&gt;That became the starting point for &lt;strong&gt;Jana Seva&lt;/strong&gt; — a voice-first Health Access AI assistant built during the &lt;strong&gt;10 Days of Voice Agents — VoiceForBharat Edition&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;The goal was not to build an AI doctor.&lt;/p&gt;

&lt;p&gt;The goal was to build a system that can help users navigate health-access information, use real data when appropriate, remember useful context, and know when it should stop and involve a human.&lt;/p&gt;




&lt;h2&gt;
  
  
  Meet Jana Seva
&lt;/h2&gt;

&lt;p&gt;Jana Seva is designed as a real-time voice assistant for public-health access.&lt;/p&gt;

&lt;p&gt;A user can talk naturally through the browser and ask about healthcare access, nearby health facilities, environmental health information, or appointment-related help.&lt;/p&gt;

&lt;p&gt;The system can also:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;use live data tools;&lt;/li&gt;
&lt;li&gt;remember consented user context;&lt;/li&gt;
&lt;li&gt;make controlled outbound reminder calls;&lt;/li&gt;
&lt;li&gt;create human escalation requests;&lt;/li&gt;
&lt;li&gt;show call analytics;&lt;/li&gt;
&lt;li&gt;hand a conversation to a specialist agent.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The project uses &lt;strong&gt;Murf Falcon&lt;/strong&gt; for the voice output and &lt;strong&gt;LiveKit Agents&lt;/strong&gt; for real-time communication.&lt;/p&gt;




&lt;h2&gt;
  
  
  Why Voice?
&lt;/h2&gt;

&lt;p&gt;Voice changes the interaction model.&lt;/p&gt;

&lt;p&gt;Instead of:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Search → Read → Understand → Navigate → Decide
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;the experience can become:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Speak → Listen → Respond → Continue
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;That matters when a user is more comfortable speaking than typing or when a conversational interface is more natural for the task.&lt;/p&gt;

&lt;p&gt;For an Indian Health Access use case, the ability to support English, Hindi and Hinglish interaction paths also makes the experience more conversational.&lt;/p&gt;




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

&lt;p&gt;At a high level:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Browser / Phone
      ↓
LiveKit
      ↓
Voice Activity + Turn Detection
      ↓
Deepgram Nova-3
      ↓
Jana Seva Agent
      ↓
Google Gemini
      ↓
Tools / Memory / Escalation / Specialist
      ↓
Murf Falcon
      ↓
LiveKit
      ↓
User
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The system separates real-time transport, speech recognition, reasoning, external tools, persistence and voice synthesis.&lt;/p&gt;

&lt;p&gt;That separation made it possible to add new capabilities over the ten-day challenge without turning the entire agent into one large block of logic.&lt;/p&gt;




&lt;h1&gt;
  
  
  The Journey
&lt;/h1&gt;

&lt;h2&gt;
  
  
  Day 1 — Making the Agent Speak
&lt;/h2&gt;

&lt;p&gt;The first milestone was the basic real-time voice pipeline.&lt;/p&gt;

&lt;p&gt;The browser connects through LiveKit, speech is recognized, the agent reasons about the request, and Murf Falcon generates the response.&lt;/p&gt;

&lt;p&gt;This established the foundation.&lt;/p&gt;




&lt;h2&gt;
  
  
  Day 2 — Defining What the Agent Should Do
&lt;/h2&gt;

&lt;p&gt;The next step was defining the agent's role and boundaries.&lt;/p&gt;

&lt;p&gt;The system was designed around Health Access rather than diagnosis.&lt;/p&gt;

&lt;p&gt;That distinction became important later because it determined when the agent should answer, when it should use a tool, and when it should escalate.&lt;/p&gt;




&lt;h2&gt;
  
  
  Day 3 — Safety and Guardrails
&lt;/h2&gt;

&lt;p&gt;Healthcare is not a domain where an AI should confidently improvise.&lt;/p&gt;

&lt;p&gt;The agent therefore needed boundaries around diagnosis, prescription-like behavior and emergency situations.&lt;/p&gt;

&lt;p&gt;The design principle became:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Be useful without pretending to be a doctor.&lt;/p&gt;
&lt;/blockquote&gt;




&lt;h2&gt;
  
  
  Day 4 — Memory
&lt;/h2&gt;

&lt;p&gt;A returning user should not necessarily have to repeat the same basic context every time.&lt;/p&gt;

&lt;p&gt;Jana Seva introduced consent-based caller memory so useful context could be reused by later workflows.&lt;/p&gt;

&lt;p&gt;This became especially useful once the agent started using tools.&lt;/p&gt;

&lt;p&gt;For example, a previously known district could help a health-facility lookup without forcing the user to repeat it.&lt;/p&gt;




&lt;h2&gt;
  
  
  Day 5 — Real-World Data
&lt;/h2&gt;

&lt;p&gt;This was where the project started feeling less like a demo chatbot.&lt;/p&gt;

&lt;p&gt;Jana Seva gained function-calling tools for:&lt;/p&gt;

&lt;h3&gt;
  
  
  Nearby health facilities
&lt;/h3&gt;

&lt;p&gt;A facility lookup can search for:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;PHCs&lt;/li&gt;
&lt;li&gt;CHCs&lt;/li&gt;
&lt;li&gt;District Hospitals&lt;/li&gt;
&lt;li&gt;Jan Aushadhi stores&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The system can use OpenStreetMap Nominatim and a local fallback registry.&lt;/p&gt;

&lt;h3&gt;
  
  
  Environmental health advisory
&lt;/h3&gt;

&lt;p&gt;The agent can retrieve:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;AQI&lt;/li&gt;
&lt;li&gt;PM2.5&lt;/li&gt;
&lt;li&gt;PM10&lt;/li&gt;
&lt;li&gt;temperature&lt;/li&gt;
&lt;li&gt;respiratory precautions&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;using Open-Meteo.&lt;/p&gt;

&lt;p&gt;The tools also have failure paths.&lt;/p&gt;

&lt;p&gt;If an external service fails, the agent should not silently invent a result.&lt;/p&gt;

&lt;p&gt;It should communicate the failure and use the available fallback where appropriate.&lt;/p&gt;




&lt;h2&gt;
  
  
  Day 6 — Outbound Calls
&lt;/h2&gt;

&lt;p&gt;The next challenge was moving beyond inbound browser conversations.&lt;/p&gt;

&lt;p&gt;Jana Seva added controlled outbound health-reminder workflows using Twilio and LiveKit SIP.&lt;/p&gt;

&lt;p&gt;The use case was intentionally narrow:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;vaccination follow-ups;&lt;/li&gt;
&lt;li&gt;medication reminders.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The call begins with identification, purpose and an opt-out mechanism.&lt;/p&gt;

&lt;p&gt;If the user says they do not want future calls, the agent immediately handles the opt-out path.&lt;/p&gt;

&lt;p&gt;Automatic retries are also intentionally conservative.&lt;/p&gt;

&lt;p&gt;This was an important lesson:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;A voice system that can call people needs stronger boundaries than a system that only waits for users to call it.&lt;/p&gt;
&lt;/blockquote&gt;




&lt;h1&gt;
  
  
  Day 7 — Knowing When to Ask a Human
&lt;/h1&gt;

&lt;p&gt;This became one of the most important parts of the project.&lt;/p&gt;

&lt;p&gt;The agent should not try to solve every problem.&lt;/p&gt;

&lt;p&gt;Two major escalation conditions were:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;red-flag symptoms / emergency situations;&lt;/li&gt;
&lt;li&gt;requests for diagnosis or medical decisions outside the agent's safe scope.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;The workflow is:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Detect
  ↓
Explain
  ↓
Ask permission
  ↓
Summarize
  ↓
Create request
  ↓
Generate reference ID
  ↓
Tell user what happens next
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The human receives a concise operational summary rather than an unnecessary full transcript.&lt;/p&gt;

&lt;p&gt;The escalation dashboard organizes requests by urgency and status.&lt;/p&gt;

&lt;p&gt;This changed my understanding of "smart" agents.&lt;/p&gt;

&lt;p&gt;A smart agent is not necessarily the one that answers everything.&lt;/p&gt;

&lt;p&gt;Sometimes the smarter action is:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;"This is outside what I should handle. Let me get the right human involved."&lt;/p&gt;
&lt;/blockquote&gt;




&lt;h1&gt;
  
  
  Day 8 — Measuring the Agent
&lt;/h1&gt;

&lt;p&gt;Once an agent is doing real work, I need to know whether it is actually succeeding.&lt;/p&gt;

&lt;p&gt;Jana Seva therefore gained a call analytics dashboard backed by SQLite.&lt;/p&gt;

&lt;p&gt;The required metrics are:&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;/ul&gt;

&lt;p&gt;The system also calculates success rate and shows operational call history.&lt;/p&gt;

&lt;p&gt;A successful call means the intended health-access task was safely completed, or a required human escalation was correctly completed with user permission.&lt;/p&gt;

&lt;p&gt;A failed call means the intended outcome was not reached.&lt;/p&gt;

&lt;p&gt;This distinction matters because a "failed" call does not necessarily mean the software crashed.&lt;/p&gt;

&lt;p&gt;A user hanging up before completing the task can also be a failed outcome.&lt;/p&gt;




&lt;h1&gt;
  
  
  Day 9 — Handing the Conversation to a Specialist
&lt;/h1&gt;

&lt;p&gt;The final major agent capability was specialist routing.&lt;/p&gt;

&lt;p&gt;Instead of building one huge agent that tries to know everything, Jana Seva now has a focused:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Clinic &amp;amp; Appointment Specialist&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The main agent detects requests related to:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;clinic discovery;&lt;/li&gt;
&lt;li&gt;department navigation;&lt;/li&gt;
&lt;li&gt;appointment assistance.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;It announces the handoff first.&lt;/p&gt;

&lt;p&gt;Then it transfers useful context so the user does not need to repeat the entire request.&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;User:
"I want to find a clinic and get help with an appointment."

        ↓

Main Jana Seva Agent:
"I'll connect you with our Clinic &amp;amp; Appointment Specialist."

        ↓

Clinic &amp;amp; Appointment Specialist:
"I understand you're looking for help with a general health consultation appointment..."
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The specialist has its own scope and safety boundaries.&lt;/p&gt;

&lt;p&gt;Emergency red flags bypass the specialist and use the human escalation workflow instead.&lt;/p&gt;




&lt;h1&gt;
  
  
  The Technical Stack
&lt;/h1&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Layer&lt;/th&gt;
&lt;th&gt;Technology&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Real-time transport&lt;/td&gt;
&lt;td&gt;LiveKit&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Voice synthesis&lt;/td&gt;
&lt;td&gt;Murf Falcon&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Speech recognition&lt;/td&gt;
&lt;td&gt;Deepgram Nova-3&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;LLM&lt;/td&gt;
&lt;td&gt;Google Gemini&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Backend&lt;/td&gt;
&lt;td&gt;Python&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Frontend&lt;/td&gt;
&lt;td&gt;Next.js / React&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Database&lt;/td&gt;
&lt;td&gt;SQLite&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Telephony&lt;/td&gt;
&lt;td&gt;Twilio + LiveKit SIP&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Facility lookup&lt;/td&gt;
&lt;td&gt;OpenStreetMap Nominatim&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Environmental data&lt;/td&gt;
&lt;td&gt;Open-Meteo&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;




&lt;h1&gt;
  
  
  The Hard Parts
&lt;/h1&gt;

&lt;h2&gt;
  
  
  1. Designing safe boundaries
&lt;/h2&gt;

&lt;p&gt;The easiest mistake is to make a healthcare agent sound too confident.&lt;/p&gt;

&lt;p&gt;The system needed explicit boundaries around diagnosis and emergency situations.&lt;/p&gt;

&lt;p&gt;The solution was to make escalation a first-class workflow rather than an afterthought.&lt;/p&gt;




&lt;h2&gt;
  
  
  2. Handling external data failures
&lt;/h2&gt;

&lt;p&gt;Live APIs can fail.&lt;/p&gt;

&lt;p&gt;A voice assistant cannot simply show an error stack trace to a user.&lt;/p&gt;

&lt;p&gt;The tool layer therefore needed fallback behavior and a spoken failure path.&lt;/p&gt;

&lt;p&gt;The agent should communicate that the live lookup was unavailable rather than pretending that stale or invented information is current.&lt;/p&gt;




&lt;h2&gt;
  
  
  3. Making handoffs feel natural
&lt;/h2&gt;

&lt;p&gt;A bad multi-agent handoff would sound like:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;"Please repeat everything to the next agent."&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;That defeats the purpose.&lt;/p&gt;

&lt;p&gt;The specialist handoff therefore transfers the relevant intent and context so the conversation can continue naturally.&lt;/p&gt;




&lt;h2&gt;
  
  
  4. Knowing what to measure
&lt;/h2&gt;

&lt;p&gt;A dashboard is only useful if the metrics represent the actual objective.&lt;/p&gt;

&lt;p&gt;Instead of measuring only technical uptime, Jana Seva records whether the call reached its intended outcome.&lt;/p&gt;

&lt;p&gt;That makes the analytics more useful for evaluating the actual agent experience.&lt;/p&gt;




&lt;h1&gt;
  
  
  How Someone Else Can Build a Similar Voice Agent
&lt;/h1&gt;

&lt;p&gt;The architecture can be reduced to four core components:&lt;/p&gt;

&lt;h3&gt;
  
  
  1. Speech-to-text
&lt;/h3&gt;

&lt;p&gt;Convert the user's speech into text.&lt;/p&gt;

&lt;h3&gt;
  
  
  2. LLM
&lt;/h3&gt;

&lt;p&gt;Reason about the request and decide what should happen.&lt;/p&gt;

&lt;h3&gt;
  
  
  3. Text-to-speech
&lt;/h3&gt;

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

&lt;h3&gt;
  
  
  4. Real-time transport
&lt;/h3&gt;

&lt;p&gt;Move audio between the user and the agent with low latency.&lt;/p&gt;

&lt;p&gt;LiveKit handles the real-time layer in Jana Seva.&lt;/p&gt;

&lt;p&gt;Murf Falcon handles speech synthesis.&lt;/p&gt;

&lt;p&gt;Deepgram handles speech recognition.&lt;/p&gt;

&lt;p&gt;Google Gemini handles reasoning and tool calling.&lt;/p&gt;




&lt;h1&gt;
  
  
  Running Jana Seva
&lt;/h1&gt;

&lt;h2&gt;
  
  
  Prerequisites
&lt;/h2&gt;

&lt;p&gt;Install:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Python 3.10+&lt;/li&gt;
&lt;li&gt;uv&lt;/li&gt;
&lt;li&gt;Node.js 18+&lt;/li&gt;
&lt;li&gt;pnpm&lt;/li&gt;
&lt;li&gt;LiveKit&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Then configure the required environment variables locally.&lt;/p&gt;

&lt;p&gt;Example:&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
DEEPGRAM_API_KEY=your_deepgram_api_key
GOOGLE_API_KEY=your_google_api_key
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Never commit real credentials.&lt;/p&gt;

&lt;p&gt;Install backend dependencies:&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
uv &lt;span class="nb"&gt;sync
&lt;/span&gt;uv run python src/agent.py download-files
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Install frontend dependencies:&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
pnpm &lt;span class="nb"&gt;install&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Start the project using the included startup script or run the LiveKit server, backend agent and frontend in separate terminals.&lt;/p&gt;

&lt;p&gt;Then open:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;http://localhost:3000
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Allow microphone access and start a conversation.&lt;/p&gt;




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

&lt;p&gt;The project includes screenshots showing:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;the Jana Seva homepage;&lt;/li&gt;
&lt;li&gt;an active voice session;&lt;/li&gt;
&lt;li&gt;the human escalation command center;&lt;/li&gt;
&lt;li&gt;the call analytics dashboard;&lt;/li&gt;
&lt;li&gt;a specialist-agent handoff.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;The project also includes demonstration videos from the challenge stages.&lt;/p&gt;




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

&lt;p&gt;If I continued developing Jana Seva, I would focus on:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;verified government health-service integrations;&lt;/li&gt;
&lt;li&gt;stronger multilingual and code-mixed conversations;&lt;/li&gt;
&lt;li&gt;more specialist agents;&lt;/li&gt;
&lt;li&gt;improved escalation workflows;&lt;/li&gt;
&lt;li&gt;duplicate escalation detection;&lt;/li&gt;
&lt;li&gt;resolution callbacks;&lt;/li&gt;
&lt;li&gt;production authentication;&lt;/li&gt;
&lt;li&gt;stronger safety evaluations;&lt;/li&gt;
&lt;li&gt;better observability and latency measurement.&lt;/li&gt;
&lt;/ul&gt;




&lt;h1&gt;
  
  
  Final Takeaway
&lt;/h1&gt;

&lt;p&gt;The biggest lesson from these ten days was that building a voice agent is not just about making an AI that can talk.&lt;/p&gt;

&lt;p&gt;It is about designing a system that knows what it can do.&lt;/p&gt;

&lt;p&gt;It needs to know:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;when to answer;&lt;/li&gt;
&lt;li&gt;when to use a tool;&lt;/li&gt;
&lt;li&gt;when to remember;&lt;/li&gt;
&lt;li&gt;when to ask permission;&lt;/li&gt;
&lt;li&gt;when to stop;&lt;/li&gt;
&lt;li&gt;when to involve a human;&lt;/li&gt;
&lt;li&gt;and when another specialist should take over.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;That is the idea behind Jana Seva.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Healthcare, in your voice.&lt;/strong&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  Links
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Source code:&lt;/strong&gt; &lt;a href="https://github.com/lightcode01-oss/murf-livekit-starter/tree/day10" rel="noopener noreferrer"&gt;https://github.com/lightcode01-oss/murf-livekit-starter/tree/day10&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Demo:&lt;/strong&gt; &lt;a href="https://www.linkedin.com/posts/abhinav-dash_voiceforbharat-10daysofai-ai-ugcPost-7494361062327246848-3T22/?utm_source=share&amp;amp;utm_medium=member_desktop&amp;amp;rcm=ACoAAEFeFmgBuzjc34NJOKKeAvlxlTqBPFxgbLw" rel="noopener noreferrer"&gt;https://www.linkedin.com/posts/abhinav-dash_voiceforbharat-10daysofai-ai-ugcPost-7494361062327246848-3T22/?utm_source=share&amp;amp;utm_medium=member_desktop&amp;amp;rcm=ACoAAEFeFmgBuzjc34NJOKKeAvlxlTqBPFxgbLw&lt;/a&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  Built for
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;10 Days of Voice Agents — VoiceForBharat Edition&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Powered by &lt;strong&gt;Murf Falcon&lt;/strong&gt; and &lt;strong&gt;LiveKit Agents&lt;/strong&gt;.&lt;/p&gt;

&lt;h1&gt;
  
  
  VoiceForBharat #VoiceAI #MurfAI #LiveKit #AI #HealthTech #GenerativeAI
&lt;/h1&gt;

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