<?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: Ayush Shinde | Full-Stack Developer (MERN)</title>
    <description>The latest articles on DEV Community by Ayush Shinde | Full-Stack Developer (MERN) (@ayushshinde13).</description>
    <link>https://dev.to/ayushshinde13</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%2F4079111%2F21d50c63-431c-4831-8472-83c93b61ae0c.png</url>
      <title>DEV Community: Ayush Shinde | Full-Stack Developer (MERN)</title>
      <link>https://dev.to/ayushshinde13</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/ayushshinde13"/>
    <language>en</language>
    <item>
      <title>Building an AI Voice Agent for Bharat: My 10-Day Journey</title>
      <dc:creator>Ayush Shinde | Full-Stack Developer (MERN)</dc:creator>
      <pubDate>Sat, 15 Aug 2026 15:22:31 +0000</pubDate>
      <link>https://dev.to/ayushshinde13/building-an-ai-voice-agent-for-bharat-my-10-day-journey-f6d</link>
      <guid>https://dev.to/ayushshinde13/building-an-ai-voice-agent-for-bharat-my-10-day-journey-f6d</guid>
      <description>&lt;p&gt;Introduction&lt;/p&gt;

&lt;p&gt;For the past 10 days, I took part in the 10 Days of AI Voice Agents — #VoiceForBharat Edition challenge.&lt;/p&gt;

&lt;p&gt;During this challenge, I built an AI voice agent named Sadie.&lt;/p&gt;

&lt;p&gt;My goal was not just to make an AI that could talk. I wanted to build a voice agent that could understand users, remember conversations, use tools, make phone calls, connect users to humans, and hand conversations to specialist agents.&lt;/p&gt;

&lt;p&gt;This journey helped me understand that building a voice agent is much more than connecting an LLM with a text-to-speech API.&lt;/p&gt;

&lt;p&gt;The Problem&lt;/p&gt;

&lt;p&gt;Many people find it easier to speak than type.&lt;/p&gt;

&lt;p&gt;This can be especially useful for people who want to:&lt;/p&gt;

&lt;p&gt;Ask questions using their voice&lt;br&gt;
Learn through conversation&lt;br&gt;
Get quick information&lt;br&gt;
Speak in Hindi or English&lt;br&gt;
Use Hindi and English together&lt;br&gt;
Get help without using complicated interfaces&lt;/p&gt;

&lt;p&gt;I wanted to build a voice assistant that could make learning and getting information feel more natural.&lt;/p&gt;

&lt;p&gt;Instead of typing a question, users can simply speak to Sadie.&lt;/p&gt;

&lt;p&gt;What I Built&lt;/p&gt;

&lt;p&gt;Sadie is an AI voice agent that can:&lt;/p&gt;

&lt;p&gt;Have real-time voice conversations&lt;br&gt;
Understand Hindi-English code-mixed conversations&lt;br&gt;
Follow personality and safety rules&lt;br&gt;
Remember information with user permission&lt;br&gt;
Use external tools&lt;br&gt;
Make outbound phone calls&lt;br&gt;
Escalate conversations to humans&lt;br&gt;
Track call information&lt;br&gt;
Hand conversations to specialist agents&lt;/p&gt;

&lt;p&gt;The specialist agents I built are:&lt;/p&gt;

&lt;p&gt;Grammar Specialist&lt;br&gt;
Maths Specialist&lt;br&gt;
Full Stack Development Specialist&lt;br&gt;
How the System Works&lt;/p&gt;

&lt;p&gt;The basic architecture of my project is:&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;                User
                  |
                  | Voice
                  ↓
               LiveKit
                  |
                  ↓
            Deepgram STT
                  |
                  ↓
            Google Gemini
             /    |     \
            /     |      \
      Memory    Tools   Specialists
            \     |      /
             \    |     /
                  ↓
             Murf Falcon
                  |
                  ↓
              User Voice
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;Main Components&lt;/p&gt;

&lt;p&gt;Deepgram handles Speech-to-Text.&lt;/p&gt;

&lt;p&gt;Google Gemini acts as the brain of the agent and understands the user's request.&lt;/p&gt;

&lt;p&gt;Murf Falcon converts the AI's response into natural speech.&lt;/p&gt;

&lt;p&gt;LiveKit handles real-time audio communication.&lt;/p&gt;

&lt;p&gt;I also added memory, external tools, telephony, human escalation, analytics, and specialist agents around these core components.&lt;/p&gt;

&lt;p&gt;Day 1–3: Voice, Personality and Guardrails&lt;/p&gt;

&lt;p&gt;The first step was making the agent speak naturally.&lt;/p&gt;

&lt;p&gt;I configured Murf Falcon TTS with the Anisha voice.&lt;/p&gt;

&lt;p&gt;I also created a personality and clear instructions for the agent.&lt;/p&gt;

&lt;p&gt;One important requirement was handling Indian-style conversations and Hindi-English code mixing.&lt;/p&gt;

&lt;p&gt;I added script rules so that:&lt;/p&gt;

&lt;p&gt;Hindi uses Devanagari&lt;br&gt;
English uses Latin characters&lt;br&gt;
The agent follows its defined personality&lt;br&gt;
The agent stays within its allowed tasks&lt;/p&gt;

&lt;p&gt;This helped make the agent more consistent and reliable.&lt;/p&gt;

&lt;p&gt;Day 4–5: Memory and Tools&lt;/p&gt;

&lt;p&gt;Next, I added persistent memory to Sadie.&lt;/p&gt;

&lt;p&gt;I created a SQLite database:&lt;/p&gt;

&lt;p&gt;sadie_memory.db&lt;/p&gt;

&lt;p&gt;The agent can store useful information about returning users, but memory storage is permission-based.&lt;/p&gt;

&lt;p&gt;I also integrated the Free Dictionary API as an external tool.&lt;/p&gt;

&lt;p&gt;This allowed Sadie to get useful dictionary information when required.&lt;/p&gt;

&lt;p&gt;This taught me an important lesson:&lt;/p&gt;

&lt;p&gt;A good AI agent should not depend only on its language model. Tools can give an agent access to useful external information.&lt;/p&gt;

&lt;p&gt;Day 6: Outbound Phone Calls&lt;/p&gt;

&lt;p&gt;One of the most interesting parts of the challenge was connecting Sadie to phone calls.&lt;/p&gt;

&lt;p&gt;I configured:&lt;/p&gt;

&lt;p&gt;LiveKit SIP&lt;br&gt;
SIP trunk&lt;br&gt;
Linphone&lt;br&gt;
Outbound calling&lt;/p&gt;

&lt;p&gt;The goal was to allow the voice agent to make automated tutoring calls.&lt;/p&gt;

&lt;p&gt;This was also one of the most challenging parts of the project because telephony involves many configuration details.&lt;/p&gt;

&lt;p&gt;Day 7: Human Escalation&lt;/p&gt;

&lt;p&gt;An AI agent should know when it needs human help.&lt;/p&gt;

&lt;p&gt;So I created a human escalation system.&lt;/p&gt;

&lt;p&gt;Before escalating, the agent asks the user for permission.&lt;/p&gt;

&lt;p&gt;After approval, the system generates a reference ID and sends the escalation information through a Discord webhook.&lt;/p&gt;

&lt;p&gt;This creates a simple bridge between the AI and a human.&lt;/p&gt;

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

&lt;p&gt;AI should not always try to solve everything by itself. Sometimes the best action is to ask a human for help.&lt;/p&gt;

&lt;p&gt;Day 8: Call Analytics Dashboard&lt;/p&gt;

&lt;p&gt;After building the voice agent, I wanted to understand what was happening during calls.&lt;/p&gt;

&lt;p&gt;So I created a real-time analytics dashboard using:&lt;/p&gt;

&lt;p&gt;Next.js&lt;br&gt;
Chart.js&lt;br&gt;
SQLite&lt;/p&gt;

&lt;p&gt;The dashboard has a floating glassmorphism design and displays call information.&lt;/p&gt;

&lt;p&gt;This helped me move from simply building an agent to also monitoring its behavior and call outcomes.&lt;/p&gt;

&lt;p&gt;Day 9: Specialist Agents&lt;/p&gt;

&lt;p&gt;On Day 9, I added multi-agent functionality.&lt;/p&gt;

&lt;p&gt;The main agent can hand a conversation to a specialist when the user's question requires a specific skill.&lt;/p&gt;

&lt;p&gt;I created three specialists.&lt;/p&gt;

&lt;p&gt;Grammar Specialist&lt;/p&gt;

&lt;p&gt;Handles English grammar questions.&lt;/p&gt;

&lt;p&gt;Maths Specialist&lt;/p&gt;

&lt;p&gt;Handles mathematical questions and problems.&lt;/p&gt;

&lt;p&gt;Full Stack Development Specialist&lt;/p&gt;

&lt;p&gt;Helps with web development and full-stack development questions.&lt;/p&gt;

&lt;p&gt;One important part was preserving the conversation context during the handoff.&lt;/p&gt;

&lt;p&gt;The specialist should understand what the user has already discussed instead of asking the user to explain everything again.&lt;/p&gt;

&lt;p&gt;Challenges I Faced&lt;/p&gt;

&lt;p&gt;Building this project was not always easy.&lt;/p&gt;

&lt;p&gt;Here are some of the biggest challenges I faced.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Outbound SIP Calls Were Failing&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;When I first tested outbound calls using Linphone and LiveKit SIP, calls were dropping or timing out.&lt;/p&gt;

&lt;p&gt;After debugging the setup, I found that the Media Encryption Mandatory setting in Linphone was causing compatibility problems with my SIP setup.&lt;/p&gt;

&lt;p&gt;I changed the media encryption setting to Disabled/Optional, and the calls started connecting correctly.&lt;/p&gt;

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

&lt;p&gt;Telephony systems have many configuration details. Sometimes the problem is not in your code but in the configuration of the tools you are connecting.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Incorrect Failed Calls in the Dashboard&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Another problem appeared in the analytics dashboard.&lt;/p&gt;

&lt;p&gt;When I ended a normal browser conversation, the dashboard was increasing the failed-call count.&lt;/p&gt;

&lt;p&gt;The problem was in the logging logic. A normal browser disconnect was being treated as a failed call.&lt;/p&gt;

&lt;p&gt;I separated browser conversations from actual phone-call outcomes and changed the dashboard to track the real phone-call results.&lt;/p&gt;

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

&lt;p&gt;Analytics are only useful when the data being recorded represents the real event.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Specialist Handoff and Conversation Context&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;When I started working on specialist agents, I had another challenge.&lt;/p&gt;

&lt;p&gt;If Sadie transferred the conversation to the Grammar, Maths, or Full Stack specialist, I needed to make sure the specialist knew what the user had already said.&lt;/p&gt;

&lt;p&gt;I solved this by passing a copy of the existing conversation context to the specialist.&lt;/p&gt;

&lt;p&gt;Now the specialist can continue the conversation instead of starting from zero.&lt;/p&gt;

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

&lt;p&gt;In a multi-agent system, a handoff is not only about changing the agent. Conversation context is equally important.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Python Import Problems&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;While working with LiveKit background workers, I faced:&lt;/p&gt;

&lt;p&gt;ModuleNotFoundError: No module named 'src'&lt;/p&gt;

&lt;p&gt;The problem happened because the background process was starting from a different path.&lt;/p&gt;

&lt;p&gt;I fixed the import path so that the worker could correctly find the project modules.&lt;/p&gt;

&lt;p&gt;This reminded me that applications using background processes can behave differently from normal local execution.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;UI and Audio Visualizer Overlap&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;I also faced a frontend design problem.&lt;/p&gt;

&lt;p&gt;The dashboard was overlapping with the LiveKit audio visualizer.&lt;/p&gt;

&lt;p&gt;I redesigned the dashboard and moved it into a vertical top-left layout.&lt;/p&gt;

&lt;p&gt;This gave the visualizer and conversation area enough space.&lt;/p&gt;

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

&lt;p&gt;A good AI product is not only about the backend. The user interface also matters.&lt;/p&gt;

&lt;p&gt;How to Run the Project&lt;/p&gt;

&lt;p&gt;If you want to try the project yourself, you can follow these basic steps.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Clone the Repository&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;First, clone the public GitHub repository:&lt;/p&gt;

&lt;p&gt;git clone YOUR_GITHUB_REPOSITORY_URL&lt;br&gt;
cd YOUR_PROJECT_FOLDER&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Install Dependencies&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Install the required Python dependencies:&lt;/p&gt;

&lt;p&gt;pip install -r requirements.txt&lt;/p&gt;

&lt;p&gt;If the project has a separate frontend, go to the frontend directory and install its dependencies:&lt;/p&gt;

&lt;p&gt;npm install&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Create the Environment File&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Create a .env file in the appropriate project directory.&lt;/p&gt;

&lt;p&gt;Add your own API keys and configuration values there.&lt;/p&gt;

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

&lt;p&gt;MURF_API_KEY=your_key_here&lt;br&gt;
DEEPGRAM_API_KEY=your_key_here&lt;br&gt;
GOOGLE_API_KEY=your_key_here&lt;/p&gt;

&lt;p&gt;LIVEKIT_URL=your_url_here&lt;br&gt;
LIVEKIT_API_KEY=your_key_here&lt;br&gt;
LIVEKIT_API_SECRET=your_secret_here&lt;/p&gt;

&lt;p&gt;Never publish real API keys in your blog or GitHub repository.&lt;/p&gt;

&lt;p&gt;Make sure .env is included in your .gitignore file:&lt;/p&gt;

&lt;p&gt;.env&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Start the Agent&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Run the agent using the command provided in the project repository.&lt;/p&gt;

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

&lt;p&gt;python your_agent_file.py&lt;/p&gt;

&lt;p&gt;Use the actual startup command from your repository because the command can be different depending on the project structure.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Start the Frontend&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;If you are using the frontend dashboard:&lt;/p&gt;

&lt;p&gt;npm run dev&lt;/p&gt;

&lt;p&gt;Then open the local development URL shown in your terminal.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Connect and Test&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Once the agent and frontend are running:&lt;/p&gt;

&lt;p&gt;Open the voice interface.&lt;br&gt;
Connect to the LiveKit session.&lt;br&gt;
Allow microphone access.&lt;br&gt;
Start speaking with Sadie.&lt;br&gt;
Test different features.&lt;br&gt;
Ask a grammar question to test the Grammar Specialist.&lt;br&gt;
Ask a maths question to test the Maths Specialist.&lt;br&gt;
Ask a coding question to test the Full Stack Specialist.&lt;/p&gt;

&lt;p&gt;You can also test memory, tools, and other features separately.&lt;/p&gt;

&lt;p&gt;What I Learned&lt;/p&gt;

&lt;p&gt;This challenge taught me that voice agents are much more than an LLM + TTS.&lt;/p&gt;

&lt;p&gt;Here are some of my biggest lessons.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Voice Agents Are More Than an LLM + TTS&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;A complete voice agent needs several systems working together:&lt;/p&gt;

&lt;p&gt;Speech-to-Text + LLM + Text-to-Speech + Real-Time Transport + Tools + Memory&lt;/p&gt;

&lt;p&gt;All these components need to work together smoothly.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Latency Matters&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;In a normal chatbot, a small delay may not be a big problem.&lt;/p&gt;

&lt;p&gt;In a voice conversation, users expect quick responses.&lt;/p&gt;

&lt;p&gt;Even a small delay can make the conversation feel unnatural.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Guardrails Matter&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;An agent needs clear instructions about what it can and cannot do.&lt;/p&gt;

&lt;p&gt;Without proper guardrails, an AI agent may respond in unexpected ways.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Good Tool and Handoff Architecture Matters&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Tools and specialist agents make an AI system much more useful.&lt;/p&gt;

&lt;p&gt;But they also need proper routing and context management.&lt;/p&gt;

&lt;p&gt;A specialist should receive enough information to understand the conversation.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Indian and Code-Mixed Conversations Need Proper Handling&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Indian users may naturally switch between Hindi and English during a conversation.&lt;/p&gt;

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

&lt;p&gt;"Mujhe Python ka ek function samjha do."&lt;/p&gt;

&lt;p&gt;Handling this type of conversation properly was an important part of my project.&lt;/p&gt;

&lt;p&gt;Future Improvements&lt;/p&gt;

&lt;p&gt;This project is a starting point, and there are many things I would like to improve.&lt;/p&gt;

&lt;p&gt;Better Multilingual Support&lt;/p&gt;

&lt;p&gt;I want to add better support for more Indian languages and make conversations more natural across different languages.&lt;/p&gt;

&lt;p&gt;More Specialist Agents&lt;/p&gt;

&lt;p&gt;I would like to add more specialists for different domains.&lt;/p&gt;

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

&lt;p&gt;Science&lt;br&gt;
Career guidance&lt;br&gt;
Interview preparation&lt;br&gt;
Programming languages&lt;br&gt;
General education&lt;br&gt;
Better Analytics&lt;/p&gt;

&lt;p&gt;The analytics dashboard can be improved with more detailed information such as:&lt;/p&gt;

&lt;p&gt;Call duration&lt;br&gt;
Response latency&lt;br&gt;
Tool usage&lt;br&gt;
Specialist handoffs&lt;br&gt;
Call success rate&lt;br&gt;
User activity&lt;br&gt;
Lower Latency&lt;/p&gt;

&lt;p&gt;Reducing the time between the user's speech and the agent's response would make conversations feel more natural.&lt;/p&gt;

&lt;p&gt;Production Telephony&lt;/p&gt;

&lt;p&gt;I would like to make the phone calling system more production-ready and reliable.&lt;/p&gt;

&lt;p&gt;Better Personalization&lt;/p&gt;

&lt;p&gt;The next version could use memory more effectively to personalize conversations for returning users while still respecting user permissions.&lt;/p&gt;

&lt;p&gt;Architecture Diagram&lt;/p&gt;

&lt;p&gt;The architecture of the project can be represented as:&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;                   ┌───────────────┐
                   │     User      │
                   └───────┬───────┘
                           │
                        Voice
                           ↓
                   ┌───────────────┐
                   │    LiveKit    │
                   └───────┬───────┘
                           │
                           ↓
                   ┌───────────────┐
                   │   Deepgram    │
                   │     STT       │
                   └───────┬───────┘
                           │
                           ↓
                   ┌───────────────┐
                   │ Google Gemini │
                   │     LLM       │
                   └───────┬───────┘
                           │
          ┌────────────────┼────────────────┐
          ↓                ↓                ↓
     ┌─────────┐      ┌─────────┐     ┌────────────┐
     │ Memory  │      │  Tools  │     │ Specialists│
     └─────────┘      └─────────┘     └────────────┘
                                            │
                              ┌─────────────┼─────────────┐
                              ↓             ↓             ↓
                          Grammar         Maths       Full Stack
                          Specialist     Specialist    Specialist
                              │             │             │
                              └─────────────┼─────────────┘
                                            ↓
                                  ┌─────────────────┐
                                  │   Murf Falcon   │
                                  │      TTS        │
                                  └────────┬────────┘
                                           │
                                           ↓
                                         User
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;Final Thoughts&lt;/p&gt;

&lt;p&gt;When I started this challenge, I thought building a voice agent mainly meant connecting speech recognition, an LLM, and text-to-speech.&lt;/p&gt;

&lt;p&gt;After 10 days, I understand that a real voice agent is much more than that.&lt;/p&gt;

&lt;p&gt;I worked with:&lt;/p&gt;

&lt;p&gt;Voice&lt;br&gt;
Memory&lt;br&gt;
Tools&lt;br&gt;
Telephony&lt;br&gt;
Human escalation&lt;br&gt;
Analytics&lt;br&gt;
Multi-agent systems&lt;br&gt;
Real-time communication&lt;/p&gt;

&lt;p&gt;I also faced bugs, configuration problems, import errors, UI issues, and unexpected behavior.&lt;/p&gt;

&lt;p&gt;But every problem taught me something new.&lt;/p&gt;

&lt;p&gt;The biggest thing I learned is:&lt;/p&gt;

&lt;p&gt;Building AI is not only about making it intelligent. It is also about making it useful, reliable, safe, and easy for people to use.&lt;/p&gt;

&lt;p&gt;I am happy to complete 10 Days of AI Voice Agents — #VoiceForBharat Edition.&lt;/p&gt;

&lt;p&gt;A big thank you to everyone behind the challenge for giving me the opportunity to build, experiment, debug, and learn.&lt;/p&gt;

&lt;p&gt;Links&lt;/p&gt;

&lt;p&gt;GitHub: &lt;a href="https://github.com/ayushshinde13/10-days-of-AI-voice-agents-voice-for-bharat-challenge-2026" rel="noopener noreferrer"&gt;https://github.com/ayushshinde13/10-days-of-AI-voice-agents-voice-for-bharat-challenge-2026&lt;/a&gt;&lt;/p&gt;

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

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

&lt;p&gt;Tech Stack&lt;br&gt;
Python&lt;br&gt;
LiveKit&lt;br&gt;
Murf Falcon&lt;br&gt;
Deepgram&lt;br&gt;
Google Gemini&lt;br&gt;
Next.js&lt;br&gt;
Chart.js&lt;br&gt;
SQLite&lt;br&gt;
LiveKit SIP&lt;br&gt;
Linphone&lt;br&gt;
Discord Webhooks&lt;br&gt;
Free Dictionary API&lt;/p&gt;

&lt;h1&gt;
  
  
  VoiceForBharat
&lt;/h1&gt;

&lt;h1&gt;
  
  
  10DaysOfVoiceAgents#AIVoiceAgent#VoiceAI#MurfFalcon#MurfAI#LiveKit#GenerativeAI#ArtificialIntelligence#Python#AI#BuildInPublic#Developers#TechJourney#AIEngineering
&lt;/h1&gt;

</description>
      <category>ai</category>
      <category>webdev</category>
      <category>murfai</category>
      <category>murffalcon</category>
    </item>
  </channel>
</rss>
