<?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: Ariba </title>
    <description>The latest articles on DEV Community by Ariba  (@nayabshah).</description>
    <link>https://dev.to/nayabshah</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%2F876375%2Fde44a33d-95b0-4fcb-8ca7-80e75a3db5a8.png</url>
      <title>DEV Community: Ariba </title>
      <link>https://dev.to/nayabshah</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/nayabshah"/>
    <language>en</language>
    <item>
      <title>Building AapdaMitra: An AI Disaster Response Voice Assistant for India with Murf Falcon &amp; LiveKit</title>
      <dc:creator>Ariba </dc:creator>
      <pubDate>Sat, 15 Aug 2026 16:23:03 +0000</pubDate>
      <link>https://dev.to/nayabshah/building-aapdamitra-an-ai-disaster-response-voice-assistant-for-india-with-murf-falcon-livekit-2d9n</link>
      <guid>https://dev.to/nayabshah/building-aapdamitra-an-ai-disaster-response-voice-assistant-for-india-with-murf-falcon-livekit-2d9n</guid>
      <description>&lt;p&gt;&lt;em&gt;My journey through the 10 Days of Voice Agents – VoiceForBharat Edition challenge.&lt;/em&gt;&lt;/p&gt;

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

&lt;p&gt;Natural voice interaction can make technology more accessible during emergencies. In stressful situations, people often don't have time to type long messages or search through websites. They simply need clear guidance.&lt;/p&gt;

&lt;p&gt;To solve this problem, I built AapdaMitra, an AI-powered Disaster Response Voice Assistant designed for India.&lt;/p&gt;

&lt;p&gt;AapdaMitra helps users during emergencies such as floods, cyclones, earthquakes, fires, landslides, storms, and heatwaves through natural voice conversations.&lt;/p&gt;

&lt;p&gt;The project was built as part of the 10 Days of Voice Agents – VoiceForBharat Edition challenge using Murf Falcon, LiveKit Agents, Google Gemini, and Deepgram&lt;/p&gt;

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

&lt;p&gt;During disasters:&lt;/p&gt;

&lt;p&gt;People may panic.&lt;br&gt;
They may not be able to type.&lt;br&gt;
Internet connectivity may be poor.&lt;br&gt;
Quick spoken guidance can save valuable time.&lt;/p&gt;

&lt;p&gt;Voice is the most natural interface during emergencies.&lt;/p&gt;

&lt;p&gt;Meet AapdaMitra&lt;/p&gt;

&lt;p&gt;AapdaMitra is a conversational AI assistant that provides:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Disaster safety guidance&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Weather information&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;User memory&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Human escalation&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Outbound voice calls&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Specialist agent handoffs&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Call analytics dashboard&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The assistant always prioritizes user safety while avoiding hallucinations through carefully designed guardrails.&lt;/p&gt;
&lt;h2&gt;
  
  
  Technology Stack
&lt;/h2&gt;

&lt;p&gt;Frontend&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Next.js&lt;/li&gt;
&lt;li&gt;React&lt;/li&gt;
&lt;li&gt;Tailwind CSS&lt;/li&gt;
&lt;li&gt;LiveKit Components&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Backend&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Python&lt;/li&gt;
&lt;li&gt;LiveKit Agents&lt;/li&gt;
&lt;li&gt;FastAPI&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;AI Models&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Murf Falcon (Text-to-Speech)&lt;/li&gt;
&lt;li&gt;Google Gemini (LLM)&lt;/li&gt;
&lt;li&gt;Deepgram Nova-3 (Speech-to-Text)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Database&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;SQLite&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Other&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;LiveKit Cloud&lt;/li&gt;
&lt;li&gt;Linphone (SIP Calling)&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;
  
  
  System Architecture
&lt;/h2&gt;


&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;User Voice
      │
      ▼
Deepgram Speech-to-Text
      │
      ▼
Google Gemini
      │
      ├── Memory Tool
      ├── Weather Tool
      ├── Escalation Tool
      ├── Analytics
      └── Specialist Agent
      │
      ▼
Murf Falcon Text-to-Speech
      │
      ▼
LiveKit
      │
      ▼
User
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;h2&gt;
  
  
  Biggest Challenges
&lt;/h2&gt;

&lt;p&gt;This project was far from straightforward.&lt;/p&gt;

&lt;p&gt;One major challenge was designing prompts that made Gemini collect all required user information before triggering tools like human escalation. Initially, the model skipped questions and called tools with incomplete data.&lt;/p&gt;

&lt;p&gt;The solution involved redesigning the workflow so the assistant gathered missing information one question at a time and only invoked the tool after every required field had been collected.&lt;/p&gt;

&lt;p&gt;Another challenge was integrating outbound SIP calling. Configuring LiveKit, Linphone, SIP trunks, and testing outbound calls required careful setup and troubleshooting.&lt;/p&gt;

&lt;p&gt;I also encountered issues with participant handling, webhook integration, session management, and UI synchronization before arriving at a stable implementation.&lt;/p&gt;
&lt;h2&gt;
  
  
  Running the Project
&lt;/h2&gt;

&lt;p&gt;Clone the repository.&lt;br&gt;
&lt;code&gt;git clone https://github.com/nayabshah/murf-livekit-starter.git&lt;/code&gt;&lt;br&gt;
Install dependencies.&lt;br&gt;
&lt;code&gt;uv sync&lt;/code&gt;&lt;br&gt;
Configure environment variables.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight properties"&gt;&lt;code&gt;&lt;span class="py"&gt;LIVEKIT_URL&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;
&lt;span class="py"&gt;LIVEKIT_API_KEY&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;
&lt;span class="py"&gt;LIVEKIT_API_SECRET&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;
&lt;span class="py"&gt;GOOGLE_API_KEY&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;
&lt;span class="py"&gt;DEEPGRAM_API_KEY&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;
&lt;span class="py"&gt;MURF_API_KEY&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Run the backend.&lt;br&gt;
&lt;code&gt;uv run python src/agent.py dev&lt;/code&gt;&lt;br&gt;
Start the frontend.&lt;br&gt;
&lt;/p&gt;

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

&lt;/div&gt;



&lt;p&gt;Open the browser and begin a voice conversation.&lt;/p&gt;

&lt;h2&gt;
  
  
  Repository
&lt;/h2&gt;

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

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

&lt;p&gt;The 10 Days of Voice Agents – VoiceForBharat Edition challenge provided an excellent opportunity to explore real-time conversational AI.&lt;/p&gt;

&lt;p&gt;Building AapdaMitra helped me understand how voice, AI, and real-time communication can work together to create technology that has the potential to make a meaningful impact during emergencies.&lt;/p&gt;

&lt;p&gt;A big thank you to Murf AI for organizing this challenge and providing the opportunity to build with Murf Falcon, along with the powerful ecosystem around LiveKit.&lt;/p&gt;

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