<?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: Riya Dhiman</title>
    <description>The latest articles on DEV Community by Riya Dhiman (@riya_dhiman_b0b8b9878844f).</description>
    <link>https://dev.to/riya_dhiman_b0b8b9878844f</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%2F4079231%2Ff24ed825-61df-48dc-ad5e-2abb3d632746.png</url>
      <title>DEV Community: Riya Dhiman</title>
      <link>https://dev.to/riya_dhiman_b0b8b9878844f</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/riya_dhiman_b0b8b9878844f"/>
    <language>en</language>
    <item>
      <title>Building Nexa AI: My 10-Day Journey Building a Voice Agent with LiveKit and Murf Falcon</title>
      <dc:creator>Riya Dhiman</dc:creator>
      <pubDate>Sat, 15 Aug 2026 16:40:26 +0000</pubDate>
      <link>https://dev.to/riya_dhiman_b0b8b9878844f/building-nexa-ai-my-10-day-journey-building-a-voice-agent-with-livekit-and-murf-falcon-4ik1</link>
      <guid>https://dev.to/riya_dhiman_b0b8b9878844f/building-nexa-ai-my-10-day-journey-building-a-voice-agent-with-livekit-and-murf-falcon-4ik1</guid>
      <description>&lt;h1&gt;
  
  
  Building Nexa AI: My 10-Day Journey Building a Voice Agent with LiveKit and Murf Falcon
&lt;/h1&gt;

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

&lt;p&gt;What if students could simply talk to an AI instead of typing every question?&lt;/p&gt;

&lt;p&gt;That question became the starting point for &lt;strong&gt;Nexa AI&lt;/strong&gt;, a voice assistant I built during the 10 Days of Voice Agents — VoiceForBharat Edition challenge.&lt;/p&gt;

&lt;p&gt;Over 10 days, I went from working with a basic voice agent to building a more complete system that can understand conversations, follow safety guardrails, use tools, remember returning users, make outbound calls, escalate situations to humans, track call outcomes, and hand coding-related conversations to a specialist agent.&lt;/p&gt;

&lt;p&gt;I chose the Education, Learning &amp;amp; Literacy track because I wanted to build something that could genuinely be useful for students.&lt;/p&gt;

&lt;p&gt;This challenge taught me that a voice agent is much more than an LLM connected to a microphone. A useful voice agent requires speech recognition, reasoning, text-to-speech, real-time communication, tools, safety, state management, and a good user experience.&lt;/p&gt;

&lt;p&gt;This article shares what I built, the challenges I faced, and what I learned throughout the journey.&lt;/p&gt;

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

&lt;p&gt;Students regularly need help with programming, debugging, DSA, study planning, productivity, and technical concepts.&lt;/p&gt;

&lt;p&gt;Although chat-based AI is useful, typing every question is not always the most natural way to interact with an assistant.&lt;/p&gt;

&lt;p&gt;Voice makes the experience more conversational.&lt;/p&gt;

&lt;p&gt;Instead of typing a programming problem, a student can explain it naturally. The agent can listen, understand the request, process it, and respond using a voice.&lt;/p&gt;

&lt;p&gt;That was the idea behind &lt;strong&gt;Nexa AI&lt;/strong&gt;: a voice-first learning assistant that students can talk to naturally.&lt;/p&gt;

&lt;h2&gt;
  
  
  2. Meet Nexa AI
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Nexa AI&lt;/strong&gt; is an AI voice assistant focused on education and learning.&lt;/p&gt;

&lt;p&gt;It is designed to help students with:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Programming questions&lt;/li&gt;
&lt;li&gt;Python, Java and JavaScript concepts&lt;/li&gt;
&lt;li&gt;DSA and debugging&lt;/li&gt;
&lt;li&gt;Study planning&lt;/li&gt;
&lt;li&gt;Productivity&lt;/li&gt;
&lt;li&gt;Technical learning&lt;/li&gt;
&lt;li&gt;General academic guidance&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;I also wanted *&lt;em&gt;Nexa AI *&lt;/em&gt; to feel more natural for Indian users, so the conversational experience supports code-mixed conversations such as Hinglish.&lt;/p&gt;

&lt;p&gt;For text-to-speech, I used &lt;strong&gt;Murf Falcon&lt;/strong&gt;, which provided the voice layer for &lt;strong&gt;Nexa AI&lt;/strong&gt; and helped make responses feel faster and more natural.&lt;/p&gt;

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

&lt;p&gt;A voice agent is made up of several important components.&lt;/p&gt;

&lt;p&gt;The basic flow of &lt;strong&gt;Nexa AI&lt;/strong&gt; looks like this:&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;                ┌─────────────────┐
                │      User       │
                │  Voice / Text   │
                └────────┬────────┘
                         │
                         ▼
                ┌─────────────────┐
                │     LiveKit     │
                │ Real-time Audio │
                └────────┬────────┘
                         │
                         ▼
                ┌─────────────────┐
                │ Speech-to-Text  │
                │      (STT)      │
                └────────┬────────┘
                         │
                         ▼
                ┌─────────────────┐
                │   AI Agent /    │
                │      LLM        │
                └───────┬─────────┘
                        │
            ┌───────────┼────────────┐
            │           │            │
            ▼           ▼            ▼
         Tools      Memory      Specialist
                                  Agent
            │           │            │
            └───────────┼────────────┘
                        │
                        ▼
                ┌─────────────────┐
                │ Text-to-Speech  │
                │   Murf Falcon   │
                └────────┬────────┘
                         │
                         ▼
                ┌─────────────────┐
                │      User       │
                │ Voice Response  │
                └─────────────────┘
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;The user speaks to &lt;strong&gt;Nexa AI&lt;/strong&gt;. Speech is converted into text, the AI agent processes the request, and the response is converted back into speech.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;LiveKit&lt;/strong&gt; handles the real-time communication layer, while the AI agent manages the conversation and decision-making.&lt;/p&gt;

&lt;p&gt;This architecture also makes it possible to add additional capabilities such as tools, memory, phone calls, human escalation, analytics, and specialist agents.&lt;/p&gt;

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

&lt;h3&gt;
  
  
  Natural Voice Interaction
&lt;/h3&gt;

&lt;p&gt;The main purpose of &lt;strong&gt;Nexa AI&lt;/strong&gt; is voice-based interaction.&lt;/p&gt;

&lt;p&gt;Instead of relying only on text, users can have a spoken conversation with the agent.&lt;/p&gt;

&lt;p&gt;The voice layer is powered by &lt;strong&gt;Murf Falcon&lt;/strong&gt;, which became an important part of the overall experience.&lt;/p&gt;

&lt;h3&gt;
  
  
  Personality, Objectives and Guardrails
&lt;/h3&gt;

&lt;p&gt;A useful AI agent needs clear instructions.&lt;/p&gt;

&lt;p&gt;I created a system prompt that defines &lt;strong&gt;Nexa AI&lt;/strong&gt;'s:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Personality&lt;/li&gt;
&lt;li&gt;Objectives&lt;/li&gt;
&lt;li&gt;Conversation behavior&lt;/li&gt;
&lt;li&gt;Language rules&lt;/li&gt;
&lt;li&gt;Safety boundaries&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;I also added guardrails for situations involving unsafe or inappropriate requests.&lt;/p&gt;

&lt;p&gt;For example, the agent should not provide medical diagnoses or prescriptions, request sensitive information such as passwords or OTPs, or assist with harmful activities.&lt;/p&gt;

&lt;p&gt;This was an important lesson for me: &lt;strong&gt;an agent should not only be intelligent; it should also know its boundaries.&lt;/strong&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Indian and Code-Mixed Conversations
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Nexa AI&lt;/strong&gt; was designed with Indian users in mind.&lt;/p&gt;

&lt;p&gt;The agent can handle conversational language and code-mixed interactions such as Hinglish.&lt;/p&gt;

&lt;p&gt;The language behavior was designed so that the assistant follows the language used by the user instead of forcing every conversation into formal English.&lt;/p&gt;

&lt;p&gt;This makes the interaction feel more natural for students who regularly switch between English and Hindi while discussing technical topics.&lt;/p&gt;

&lt;h3&gt;
  
  
  Memory for Returning Users
&lt;/h3&gt;

&lt;p&gt;Another important capability was memory.&lt;/p&gt;

&lt;p&gt;A voice assistant becomes more useful when it can maintain relevant context instead of treating every interaction as completely new.&lt;/p&gt;

&lt;p&gt;I explored how memory can be used to improve continuity for returning users while keeping the system's safety boundaries in place.&lt;/p&gt;

&lt;h3&gt;
  
  
  Tools and Agent Capabilities
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Nexa AI&lt;/strong&gt; was not designed to be only a conversational chatbot.&lt;/p&gt;

&lt;p&gt;The agent can use tools and structured actions when required.&lt;/p&gt;

&lt;p&gt;This allows the system to move beyond simply generating text and actually perform useful operations.&lt;/p&gt;

&lt;h3&gt;
  
  
  Outbound Phone Calls
&lt;/h3&gt;

&lt;p&gt;One of the more challenging features I implemented was outbound calling.&lt;/p&gt;

&lt;p&gt;I connected the voice agent to a phone-call workflow so that ** Nexa AI** could initiate an outbound call and interact with a person through the phone.&lt;/p&gt;

&lt;p&gt;This helped me understand that a voice agent can exist beyond a browser interface.&lt;/p&gt;

&lt;p&gt;It can become a real-time communication system.&lt;/p&gt;

&lt;h3&gt;
  
  
  Human Escalation
&lt;/h3&gt;

&lt;p&gt;AI should not always try to solve everything itself.&lt;/p&gt;

&lt;p&gt;I implemented a human escalation flow where &lt;strong&gt;Nexa AI&lt;/strong&gt; can hand a situation over when human assistance is needed.&lt;/p&gt;

&lt;p&gt;The escalation process can capture useful information such as:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Reason for escalation&lt;/li&gt;
&lt;li&gt;Problem description&lt;/li&gt;
&lt;li&gt;What the agent already tried&lt;/li&gt;
&lt;li&gt;Urgency&lt;/li&gt;
&lt;li&gt;Caller language&lt;/li&gt;
&lt;li&gt;Preferred follow-up method&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This prevents the AI from repeatedly attempting to solve a problem when human intervention is more appropriate.&lt;/p&gt;

&lt;h3&gt;
  
  
  Call Analytics Dashboard
&lt;/h3&gt;

&lt;p&gt;I also built a call analytics system to understand what was happening with calls.&lt;/p&gt;

&lt;p&gt;The backend stores call-related information in a local SQLite database, and an analytics API exposes the results to the dashboard.&lt;/p&gt;

&lt;p&gt;The dashboard tracks metrics such as:&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;This was useful because building a voice agent isn't only about making a conversation work. You also need ways to understand how the system performs.&lt;/p&gt;

&lt;h3&gt;
  
  
  Specialist Agent Handoff
&lt;/h3&gt;

&lt;p&gt;One of my final features was a &lt;strong&gt;Coding Specialist Agent&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Instead of forcing the main assistant to handle every programming-related problem itself, &lt;strong&gt;Nexa AI&lt;/strong&gt; can transfer coding-related conversations to a specialist agent.&lt;/p&gt;

&lt;p&gt;The coding specialist focuses on areas such as:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Python&lt;/li&gt;
&lt;li&gt;Java&lt;/li&gt;
&lt;li&gt;JavaScript&lt;/li&gt;
&lt;li&gt;DSA&lt;/li&gt;
&lt;li&gt;Debugging&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This introduced me to the idea of multi-agent systems, where different agents can have different responsibilities instead of putting everything into one huge prompt.&lt;/p&gt;

&lt;h2&gt;
  
  
  5. The Challenges I Faced
&lt;/h2&gt;

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

&lt;p&gt;One of the biggest challenges was dealing with API and model issues.&lt;/p&gt;

&lt;p&gt;During development, I encountered errors such as &lt;strong&gt;429 Too Many Requests&lt;/strong&gt; and quota-related problems with the Gemini API.&lt;/p&gt;

&lt;p&gt;At first, this was confusing because the application code itself could look correct while the request was still failing.&lt;/p&gt;

&lt;p&gt;I had to investigate the logs, understand that the issue was related to API limits rather than simply a Python bug, and work around the problem by checking configuration, credentials, model availability, and project quotas.&lt;/p&gt;

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

&lt;blockquote&gt;
&lt;p&gt;Don't assume every error is caused by your code.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Sometimes the problem is the API, quota, configuration, permissions, network, or service itself.&lt;/p&gt;

&lt;h2&gt;
  
  
  6. Another Challenge: Building a Real Voice System
&lt;/h2&gt;

&lt;p&gt;Getting a basic agent to respond is one thing.&lt;/p&gt;

&lt;p&gt;Building a system with multiple components is another.&lt;/p&gt;

&lt;p&gt;I had to work with:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;LiveKit&lt;/li&gt;
&lt;li&gt;Python&lt;/li&gt;
&lt;li&gt;Voice AI plugins&lt;/li&gt;
&lt;li&gt;Speech-to-text&lt;/li&gt;
&lt;li&gt;LLM integration&lt;/li&gt;
&lt;li&gt;Murf TTS&lt;/li&gt;
&lt;li&gt;Phone communication&lt;/li&gt;
&lt;li&gt;Frontend/backend communication&lt;/li&gt;
&lt;li&gt;SQLite analytics&lt;/li&gt;
&lt;li&gt;Agent handoffs&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Small configuration problems could break the complete voice pipeline.&lt;/p&gt;

&lt;p&gt;I learned to rely heavily on logs and incremental testing.&lt;/p&gt;

&lt;p&gt;Instead of changing everything at once, I tested individual components and gradually connected them together.&lt;/p&gt;

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

&lt;p&gt;If you want to build a project similar to Nexa AI, start with the basic architecture.&lt;/p&gt;

&lt;p&gt;You need four major pieces:&lt;/p&gt;

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

&lt;p&gt;The STT component converts the user's voice into text that the AI can understand.&lt;/p&gt;

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

&lt;p&gt;The LLM processes the user's request and decides what the agent should say or do.&lt;/p&gt;

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

&lt;p&gt;The TTS system converts the AI's response back into natural speech.&lt;/p&gt;

&lt;p&gt;For &lt;strong&gt;Nexa AI,&lt;/strong&gt; I used &lt;strong&gt;Murf Falcon&lt;/strong&gt; for this part.&lt;/p&gt;

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

&lt;p&gt;You also need a system capable of handling real-time audio communication.&lt;/p&gt;

&lt;p&gt;I used &lt;strong&gt;LiveKit&lt;/strong&gt; for the real-time voice infrastructure.&lt;/p&gt;

&lt;p&gt;Together, the basic flow becomes:&lt;/p&gt;

&lt;p&gt;Voice Input&lt;br&gt;
     ↓&lt;br&gt;
Speech-to-Text&lt;br&gt;
     ↓&lt;br&gt;
LLM / Agent&lt;br&gt;
     ↓&lt;br&gt;
Tools / Memory / Handoff&lt;br&gt;
     ↓&lt;br&gt;
Text-to-Speech&lt;br&gt;
     ↓&lt;br&gt;
Voice Output&lt;/p&gt;

&lt;p&gt;Start with this simple pipeline before adding advanced features.&lt;/p&gt;

&lt;h2&gt;
  
  
  8. Setting Up the Project
&lt;/h2&gt;

&lt;p&gt;First, clone the project repository and move into the backend directory.&lt;/p&gt;

&lt;p&gt;bash&lt;br&gt;
git clone &lt;/p&gt;

&lt;p&gt;cd Nexa-AI/backend&lt;/p&gt;

&lt;p&gt;Create and activate a virtual environment.&lt;/p&gt;

&lt;p&gt;bash&lt;br&gt;
python -m venv .venv&lt;/p&gt;

&lt;p&gt;On Windows:&lt;/p&gt;

&lt;p&gt;powershell&lt;br&gt;
.venv\Scripts\Activate.ps1&lt;/p&gt;

&lt;p&gt;Install the required dependencies according to the project's configuration.&lt;/p&gt;

&lt;p&gt;Then configure your environment variables.&lt;/p&gt;

&lt;p&gt;Keep API keys inside an environment file such as:&lt;/p&gt;

&lt;p&gt;text&lt;br&gt;
.env.local&lt;/p&gt;

&lt;p&gt;Do not hard-code API keys inside Python files.&lt;/p&gt;

&lt;p&gt;Your environment file should contain the required credentials for services such as your LLM provider, LiveKit, speech services, and Murf.&lt;/p&gt;

&lt;p&gt;Also make sure your environment file is included in .gitignore.&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;Phone numbers&lt;/li&gt;
&lt;li&gt;OTPs&lt;/li&gt;
&lt;li&gt;Passwords&lt;/li&gt;
&lt;li&gt;Caller information&lt;/li&gt;
&lt;li&gt;Private user data&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  9. Running and Testing the Agent
&lt;/h2&gt;

&lt;p&gt;After configuring the environment, start the backend agent using the project's development command.&lt;/p&gt;

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

&lt;p&gt;bash&lt;br&gt;
uv run python src/agent.py dev&lt;/p&gt;

&lt;p&gt;If the frontend is included, start it separately using the project's frontend development command.&lt;/p&gt;

&lt;p&gt;Then open the application and connect to the voice agent.&lt;/p&gt;

&lt;p&gt;Start with simple conversations such as:&lt;/p&gt;

&lt;p&gt;text&lt;br&gt;
"Hi Nexa, help me create a study plan."&lt;/p&gt;

&lt;p&gt;Then test technical questions:&lt;/p&gt;

&lt;p&gt;text&lt;br&gt;
"Can you explain binary search?"&lt;/p&gt;

&lt;p&gt;You can also test a debugging request:&lt;/p&gt;

&lt;p&gt;text&lt;br&gt;
"I'm getting an error in my Python code. Can you help me debug it?"&lt;/p&gt;

&lt;p&gt;For advanced testing, verify the specialist handoff, escalation flow, analytics, and phone-call functionality separately.&lt;/p&gt;

&lt;p&gt;Testing each feature independently makes debugging much easier.&lt;/p&gt;

&lt;h2&gt;
  
  
  10. Evidence From My Build
&lt;/h2&gt;

&lt;p&gt;Throughout the challenge, I captured different parts of the project to show how Nexa AI evolved.&lt;/p&gt;

&lt;p&gt;Useful evidence includes:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Nexa AI frontend&lt;/li&gt;
&lt;li&gt;Live voice conversation&lt;/li&gt;
&lt;li&gt;Outbound call&lt;/li&gt;
&lt;li&gt;Human escalation&lt;/li&gt;
&lt;li&gt;Call analytics dashboard&lt;/li&gt;
&lt;li&gt;Coding specialist handoff&lt;/li&gt;
&lt;li&gt;GitHub repository&lt;/li&gt;
&lt;/ul&gt;

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

&lt;p&gt;1 — Nexa AI Voice Interface&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fmlno95c2jyus4gtc9c1p.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fmlno95c2jyus4gtc9c1p.png" alt=" " width="800" height="427"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;2 — Live Voice Conversation&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fdn60llwyg7vaaslq4d1h.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fdn60llwyg7vaaslq4d1h.png" alt=" " width="800" height="424"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;3 — Voice Response&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fo3sqea5jk9uifo9lshiw.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fo3sqea5jk9uifo9lshiw.png" alt=" " width="800" height="508"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;4 — Call Analytics Dashboard&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F0ozlib8moz0180jen7p7.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F0ozlib8moz0180jen7p7.png" alt=" " width="800" height="421"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Screenshots are useful because they show the difference between simply describing a feature and actually building it.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;What I Would Improve Next&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Although Nexa AI has many capabilities, there is still a lot I would like to improve.&lt;/p&gt;

&lt;p&gt;Some of my next goals would be:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Better long-term memory&lt;/li&gt;
&lt;li&gt;More reliable multilingual conversations&lt;/li&gt;
&lt;li&gt;Improved latency&lt;/li&gt;
&lt;li&gt;More detailed analytics&lt;/li&gt;
&lt;li&gt;Better error recovery&lt;/li&gt;
&lt;li&gt;More specialist agents&lt;/li&gt;
&lt;li&gt;Better phone-call workflows&lt;/li&gt;
&lt;li&gt;Production-grade deployment&lt;/li&gt;
&lt;li&gt;More robust authentication and privacy controls&lt;/li&gt;
&lt;li&gt;Better user personalization&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;I would also like to evaluate the agent using measurable metrics such as response latency, call success rate, task completion rate, and user satisfaction.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;What I Learned From the Challenge&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;The biggest lesson from these 10 days was that building AI applications is an iterative process.&lt;/p&gt;

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

&lt;p&gt;APIs will return unexpected errors.&lt;/p&gt;

&lt;p&gt;Dependencies will conflict.&lt;/p&gt;

&lt;p&gt;Configuration will be wrong.&lt;/p&gt;

&lt;p&gt;And sometimes the problem will be somewhere completely different from where you initially expect it to be.&lt;/p&gt;

&lt;p&gt;The important part is learning how to debug, test, read logs, break a problem into smaller pieces, and keep improving the system.&lt;/p&gt;

&lt;p&gt;I also learned that a good voice agent needs more than a powerful model.&lt;/p&gt;

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

&lt;p&gt;Good conversation design + safety + tools + reliable infrastructure + observability + a useful purpose.&lt;/p&gt;

&lt;p&gt;The specialist handoff and human escalation features especially changed how I think about AI agents. Instead of trying to make one agent do everything, we can design systems where different components have clearly defined responsibilities.&lt;/p&gt;

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

&lt;p&gt;When I started the 10 Days of Voice Agents — VoiceForBharat Edition, my goal was simply to learn how voice agents work.&lt;/p&gt;

&lt;p&gt;By the end, I had built &lt;strong&gt;Nexa AI&lt;/strong&gt;, a voice-based learning assistant with real-time conversations, Murf Falcon TTS, guardrails, memory, tools, outbound calling, human escalation, analytics, and specialist-agent handoffs.&lt;/p&gt;

&lt;p&gt;The project is far from perfect, but that is actually one of the most valuable things I learned.&lt;/p&gt;

&lt;p&gt;A project doesn't have to start perfect.&lt;/p&gt;

&lt;p&gt;Start with a simple voice pipeline.&lt;/p&gt;

&lt;p&gt;Make it work.&lt;/p&gt;

&lt;p&gt;Understand each component.&lt;/p&gt;

&lt;p&gt;Then keep adding capabilities one at a time.&lt;/p&gt;

&lt;p&gt;That's how Nexa AI evolved during these 10 days.&lt;/p&gt;

&lt;h2&gt;
  
  
  14. Links
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Source code
&lt;/h3&gt;

&lt;p&gt;GitHub:&lt;br&gt;
&lt;a href="https://github.com/riyadhiman852/Nexa-AI-" rel="noopener noreferrer"&gt;https://github.com/riyadhiman852/Nexa-AI-&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Challenge
&lt;/h3&gt;

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

&lt;h2&gt;
  
  
  Conclusion
&lt;/h2&gt;

&lt;p&gt;Building Nexa AI over these 10 days gave me hands-on experience with voice AI, real-time communication, LLMs, text-to-speech, tools, phone calls, analytics, human escalation, and multi-agent systems.&lt;/p&gt;

&lt;p&gt;More importantly, it taught me how to take an idea and continuously turn it into a more complete working system.&lt;/p&gt;

&lt;p&gt;This was not just 10 days of building a voice agent.&lt;/p&gt;

&lt;p&gt;It was 10 days of learning how to build, debug, experiment, and improve with AI.&lt;/p&gt;

&lt;p&gt;Nexa AI is just the beginning. 🚀&lt;/p&gt;

</description>
      <category>ai</category>
      <category>python</category>
      <category>agents</category>
      <category>livekit</category>
    </item>
  </channel>
</rss>
