<?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: Sujay H S</title>
    <description>The latest articles on DEV Community by Sujay H S (@sujay_hs_b482e14368c435a).</description>
    <link>https://dev.to/sujay_hs_b482e14368c435a</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%2F4078654%2F36505fb9-bb13-446d-8395-e67c740feddb.png</url>
      <title>DEV Community: Sujay H S</title>
      <link>https://dev.to/sujay_hs_b482e14368c435a</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/sujay_hs_b482e14368c435a"/>
    <language>en</language>
    <item>
      <title># FINORA AI: Building a Voice-First Financial Assistant for Bharat with Murf Falcon 🎙️🇮🇳</title>
      <dc:creator>Sujay H S</dc:creator>
      <pubDate>Sat, 15 Aug 2026 09:53:52 +0000</pubDate>
      <link>https://dev.to/sujay_hs_b482e14368c435a/-finora-ai-building-a-voice-first-financial-assistant-for-bharat-with-murf-falcon-1oij</link>
      <guid>https://dev.to/sujay_hs_b482e14368c435a/-finora-ai-building-a-voice-first-financial-assistant-for-bharat-with-murf-falcon-1oij</guid>
      <description>&lt;h1&gt;
  
  
  FINORA AI: Building a Voice-First Financial Assistant for Bharat with Murf Falcon 🎙️🇮🇳
&lt;/h1&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;What if getting help with financial services was as simple as having a conversation?&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;

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

&lt;p&gt;When I started the &lt;strong&gt;10 Days of Voice Agents — VoiceForBharat Edition&lt;/strong&gt;, I wanted to build something more than a basic voice chatbot.&lt;/p&gt;

&lt;p&gt;I wanted to build an assistant that could actually help users with financial questions, remember useful context, communicate naturally, know when it needed human support, and hand specialized questions to another agent.&lt;/p&gt;

&lt;p&gt;That idea became &lt;strong&gt;FINORA AI&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;FINORA AI is a voice-first financial services assistant designed for Bharat. The main voice agent, &lt;strong&gt;Dia&lt;/strong&gt;, interacts with users through voice and supports English and Hindi.&lt;/p&gt;

&lt;p&gt;As the challenge progressed, FINORA AI evolved from a simple voice agent into a complete voice-AI system with memory, voice workflows, outbound calling, human escalation, call analytics, and a dedicated &lt;strong&gt;Government Scheme Specialist named Krishna&lt;/strong&gt;.&lt;/p&gt;

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

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Make financial assistance less complicated and more conversational — just a voice away.&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;In this blog, I'll walk through what I built, how the system works, the challenges I faced, and what I learned during the ten-day journey.&lt;/p&gt;




&lt;h1&gt;
  
  
  🌱 The Problem
&lt;/h1&gt;

&lt;p&gt;Financial services can often feel complicated.&lt;/p&gt;

&lt;p&gt;Users may have to:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Search through different websites&lt;/li&gt;
&lt;li&gt;Understand financial terminology&lt;/li&gt;
&lt;li&gt;Navigate multiple pages&lt;/li&gt;
&lt;li&gt;Find the right government scheme&lt;/li&gt;
&lt;li&gt;Understand eligibility requirements&lt;/li&gt;
&lt;li&gt;Figure out where to get help&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The information may already exist, but &lt;strong&gt;finding and understanding the right information can be the difficult part&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;I wanted to make that experience more natural.&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 → Navigate → Read → Understand
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;I wanted:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Ask → Talk → Understand → Get Help
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;That's where voice becomes useful.&lt;/p&gt;




&lt;h1&gt;
  
  
  🎙️ Meet FINORA AI
&lt;/h1&gt;

&lt;p&gt;FINORA AI is a voice-first financial services assistant.&lt;/p&gt;

&lt;p&gt;The main agent is &lt;strong&gt;Dia&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Dia handles general financial conversations and acts as the primary entry point for the user.&lt;/p&gt;

&lt;p&gt;FINORA AI can:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Handle voice conversations&lt;/li&gt;
&lt;li&gt;Support English and Hindi&lt;/li&gt;
&lt;li&gt;Remember relevant conversational context&lt;/li&gt;
&lt;li&gt;Handle financial-service related questions&lt;/li&gt;
&lt;li&gt;Make outbound calls&lt;/li&gt;
&lt;li&gt;Escalate sensitive situations to humans&lt;/li&gt;
&lt;li&gt;Hand government-scheme questions to Krishna&lt;/li&gt;
&lt;li&gt;Track call outcomes&lt;/li&gt;
&lt;li&gt;Track agent handoffs&lt;/li&gt;
&lt;li&gt;Display analytics through a dashboard&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The idea wasn't to make Dia sound like a robot reading information.&lt;/p&gt;

&lt;p&gt;I wanted the interaction to feel more like talking to an assistant:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;"Sure, let me help you with that."&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;rather than:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;"According to the available information..."&lt;/p&gt;
&lt;/blockquote&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%2Fgxi99xwexxzhb8wseh1b.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%2Fgxi99xwexxzhb8wseh1b.png" alt=" " width="800" height="687"&gt;&lt;/a&gt;&lt;br&gt;
&lt;em&gt;Caption: FINORA AI's minimalistic interface, designed to keep voice interaction simple and easy to understand.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;The website follows the same philosophy as the voice experience:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Minimalistic. Clean. Easy to understand.&lt;/strong&gt;&lt;/p&gt;


&lt;h1&gt;
  
  
  🎯 Why Voice?
&lt;/h1&gt;

&lt;p&gt;Voice removes a layer of complexity.&lt;/p&gt;

&lt;p&gt;Users don't have to figure out exactly what to type or where to click.&lt;/p&gt;

&lt;p&gt;They can simply say:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;"What documents do I need?"&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;or:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;"Can you explain this government scheme?"&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;They can also speak naturally in Hindi.&lt;/p&gt;

&lt;p&gt;For FINORA AI, voice isn't just another feature.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Voice is the primary interface.&lt;/strong&gt;&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%2F2236u7t2mqsxl2lo03ub.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%2F2236u7t2mqsxl2lo03ub.png" alt=" " width="800" height="414"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Caption: A live voice conversation with Dia through the FINORA AI interface.&lt;/em&gt;&lt;/p&gt;


&lt;h1&gt;
  
  
  🏗️ How FINORA AI Works
&lt;/h1&gt;

&lt;p&gt;The overall architecture looks like this:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;flowchart TD
    U[User] --&amp;gt; L[LiveKit]

    L --&amp;gt; STT[Speech to Text]

    STT --&amp;gt; D[Dia - Main Agent]

    D --&amp;gt; LLM[LLM Reasoning]
    LLM --&amp;gt; M[Memory / Relevant Context]

    D --&amp;gt; K[Krishna - Government Scheme Specialist]

    D --&amp;gt; H[Human Escalation]

    K --&amp;gt; GS[Government Scheme Guidance]

    D --&amp;gt; TTS[Murf Falcon]
    K --&amp;gt; TTS

    TTS --&amp;gt; L
    L --&amp;gt; U

    L --&amp;gt; A[Call Analytics]
    A --&amp;gt; DB[(Analytics Database)]
    DB --&amp;gt; DASH[FINORA Dashboard]
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;At a high level, the voice 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 Speech
     ↓
LiveKit
     ↓
Speech-to-Text
     ↓
Dia
     ↓
LLM Reasoning
     ↓
Response / Specialist / Human Escalation
     ↓
Murf Falcon
     ↓
User
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



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

&lt;p&gt;The agents handle the conversation and decision-making.&lt;/p&gt;

&lt;p&gt;Murf Falcon provides the voice output.&lt;/p&gt;

&lt;p&gt;The analytics system records call-level information so the dashboard can show how the system is performing.&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%2F6ew9a74cwm5usxvft1wb.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%2F6ew9a74cwm5usxvft1wb.png" alt=" " width="800" height="533"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Caption: High-level architecture of FINORA AI, showing the voice pipeline, Dia, Krishna, human escalation, Murf Falcon, and call analytics.&lt;/em&gt;&lt;/p&gt;




&lt;h1&gt;
  
  
  🔊 Murf Falcon — Giving FINORA AI a Voice
&lt;/h1&gt;

&lt;p&gt;A voice assistant isn't only about what it says.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;How it sounds matters too.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;For FINORA AI, I used &lt;strong&gt;Murf Falcon&lt;/strong&gt;, the fastest TTS API highlighted in the challenge.&lt;/p&gt;

&lt;p&gt;The goal was to make the voice experience:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Natural&lt;/li&gt;
&lt;li&gt;Clear&lt;/li&gt;
&lt;li&gt;Fast&lt;/li&gt;
&lt;li&gt;Friendly&lt;/li&gt;
&lt;li&gt;Conversational&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Instead of feeling like a traditional IVR system, I wanted the interaction to feel like a real conversation.&lt;/p&gt;

&lt;p&gt;This was one of the most interesting parts of the project because voice changes how you design the entire agent.&lt;/p&gt;

&lt;p&gt;A text chatbot can give a long answer.&lt;/p&gt;

&lt;p&gt;A voice assistant needs to think about:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;What should I say, and how should I say it?&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;




&lt;h1&gt;
  
  
  🇮🇳 English + Hindi Voice Support
&lt;/h1&gt;

&lt;p&gt;FINORA AI supports &lt;strong&gt;English and Hindi across both agents — Dia and Krishna&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;The language doesn't stop when the conversation is handed from one agent to another.&lt;/p&gt;

&lt;p&gt;If a user starts speaking in English, Dia and Krishna can continue in English.&lt;/p&gt;

&lt;p&gt;If the user starts speaking in Hindi, the conversation can continue in Hindi even after the handoff.&lt;/p&gt;

&lt;h2&gt;
  
  
  English
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;User:&lt;/strong&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;"What documents do I need for PM-KISAN?"&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;strong&gt;Dia:&lt;/strong&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;"This is a government-scheme question, so I'll connect you with Krishna, our government-scheme specialist."&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;strong&gt;Krishna:&lt;/strong&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;"Hi, I understand you're asking about the documents required for PM-KISAN. Let me help you with that."&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  Hindi
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;User:&lt;/strong&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;"PM-KISAN के लिए कौन-कौन से documents चाहिए?"&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;strong&gt;Dia:&lt;/strong&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;"यह सरकारी योजना से जुड़ा सवाल है, इसलिए मैं आपको कृष्ण, हमारे सरकारी योजना विशेषज्ञ से जोड़ता हूँ।"&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;strong&gt;Krishna:&lt;/strong&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;"नमस्ते, मुझे समझ आया कि आप PM-KISAN के लिए जरूरी दस्तावेजों के बारे में पूछ रहे हैं। मैं आपकी मदद करता हूँ।"&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;This was important to me because &lt;strong&gt;building for Bharat isn't just about adding Indian languages — the entire conversation should continue naturally in the user's preferred language, even when another specialist agent takes over.&lt;/strong&gt;&lt;/p&gt;




&lt;h1&gt;
  
  
  🧠 Memory and Context
&lt;/h1&gt;

&lt;p&gt;Another important part of FINORA AI is memory.&lt;/p&gt;

&lt;p&gt;A useful assistant shouldn't force returning users to repeat relevant information unnecessarily.&lt;/p&gt;

&lt;p&gt;FINORA AI can retain useful conversational context where appropriate, helping the interaction feel more continuous.&lt;/p&gt;

&lt;p&gt;However, because FINORA is related to financial services, I designed the system with clear privacy boundaries.&lt;/p&gt;

&lt;p&gt;Sensitive information such as:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;OTPs&lt;/li&gt;
&lt;li&gt;PINs&lt;/li&gt;
&lt;li&gt;Passwords&lt;/li&gt;
&lt;li&gt;CVVs&lt;/li&gt;
&lt;li&gt;Authentication secrets&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;should not be stored as ordinary conversational memory.&lt;/p&gt;

&lt;p&gt;The goal is to remember &lt;strong&gt;useful context&lt;/strong&gt;, not sensitive credentials.&lt;/p&gt;




&lt;h1&gt;
  
  
  🛠️ Agent Capabilities and Workflows
&lt;/h1&gt;

&lt;p&gt;Rather than trying to make one agent responsible for everything, FINORA AI separates responsibilities.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Dia&lt;/strong&gt; is the main financial assistant.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Krishna&lt;/strong&gt; focuses specifically on government schemes.&lt;/p&gt;

&lt;p&gt;And when something requires a human, the system can use the existing &lt;strong&gt;human escalation workflow&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;This creates a simple separation:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;General Financial Assistance
            ↓
           DIA

Government Scheme Questions
            ↓
         KRISHNA

Sensitive / Human-Only Issues
            ↓
      HUMAN SUPPORT
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This separation became one of the most important architectural decisions in the project.&lt;/p&gt;




&lt;h1&gt;
  
  
  📞 Outbound Calling
&lt;/h1&gt;

&lt;p&gt;FINORA AI also supports outbound calling workflows.&lt;/p&gt;

&lt;p&gt;This changes the interaction from:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;"Ask me something."&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;to:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;"Let me help you with something you need."&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Building outbound calls made me think more carefully about how an agent starts a conversation.&lt;/p&gt;

&lt;p&gt;An outbound voice agent needs to:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Introduce itself&lt;/li&gt;
&lt;li&gt;Explain why it is calling&lt;/li&gt;
&lt;li&gt;Establish context quickly&lt;/li&gt;
&lt;li&gt;Avoid sounding overly scripted&lt;/li&gt;
&lt;li&gt;Give the user a clear next step&lt;/li&gt;
&lt;/ul&gt;




&lt;h1&gt;
  
  
  🧑‍💼 When AI Should Ask for Human Help
&lt;/h1&gt;

&lt;p&gt;One of the most important things I learned during the challenge was that &lt;strong&gt;AI shouldn't try to solve everything&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;For financial services, this becomes even more important.&lt;/p&gt;

&lt;p&gt;For example, imagine a user says:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;"I see a transaction that I didn't make."&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Dia shouldn't pretend it can investigate or resolve the issue itself.&lt;/p&gt;

&lt;p&gt;Instead, the system recognizes that human assistance may be required.&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;User reports possible fraud
          ↓
Dia identifies the situation
          ↓
Dia explains why human help is needed
          ↓
Ask for user permission
          ↓
User agrees
          ↓
Create escalation
          ↓
Generate reference ID
          ↓
Send request to human support
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The user receives a reference ID and a clear explanation of what happens next.&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%2Fto901jitzro4khmx4y8f.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%2Fto901jitzro4khmx4y8f.png" alt=" " width="800" height="576"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Caption: FINORA AI creating a human-support request after receiving the user's permission.&lt;/em&gt;&lt;/p&gt;




&lt;h1&gt;
  
  
  🔐 Privacy by Design
&lt;/h1&gt;

&lt;p&gt;Since FINORA AI is related to financial services, privacy cannot be an afterthought.&lt;/p&gt;

&lt;p&gt;The escalation workflow is designed to avoid sharing unnecessary sensitive information.&lt;/p&gt;

&lt;p&gt;It should never send:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Passwords&lt;/li&gt;
&lt;li&gt;OTPs&lt;/li&gt;
&lt;li&gt;PINs&lt;/li&gt;
&lt;li&gt;CVVs&lt;/li&gt;
&lt;li&gt;Full account numbers&lt;/li&gt;
&lt;li&gt;Authentication secrets&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Instead, the human receives a short summary containing only useful information.&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;Reference: FIN-2026-0001

Reason:
Possible Fraud

Summary:
Caller reports an unauthorized transaction.

Urgency:
High

Language:
Hindi

Preferred Follow-up:
Phone
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



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

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Give the human enough information to help without giving them information they don't need.&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;




&lt;h1&gt;
  
  
  🤝 Meet Krishna — Government Scheme Specialist
&lt;/h1&gt;

&lt;p&gt;As FINORA AI grew, I realized that Dia shouldn't have to be an expert in everything.&lt;/p&gt;

&lt;p&gt;So I created a separate specialist agent:&lt;/p&gt;

&lt;h2&gt;
  
  
  Krishna
&lt;/h2&gt;

&lt;p&gt;Krishna is FINORA AI's &lt;strong&gt;Government Scheme Specialist&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;His job is focused specifically on government financial and welfare schemes.&lt;/p&gt;

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

&lt;ul&gt;
&lt;li&gt;PM-KISAN&lt;/li&gt;
&lt;li&gt;PM Jan Dhan Yojana&lt;/li&gt;
&lt;li&gt;PM SVANidhi&lt;/li&gt;
&lt;li&gt;Mudra-related schemes&lt;/li&gt;
&lt;li&gt;Pension schemes&lt;/li&gt;
&lt;li&gt;Insurance schemes&lt;/li&gt;
&lt;li&gt;Scholarship schemes&lt;/li&gt;
&lt;li&gt;Other supported government schemes&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The key idea is that Krishna has a &lt;strong&gt;smaller and more focused responsibility&lt;/strong&gt; than Dia.&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%2Fuo62ciz33d1txrsxb5dn.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%2Fuo62ciz33d1txrsxb5dn.png" alt=" " width="799" height="409"&gt;&lt;/a&gt;&lt;br&gt;
&lt;em&gt;Caption: Krishna, FINORA AI's dedicated Government Scheme Specialist.&lt;/em&gt;&lt;/p&gt;


&lt;h1&gt;
  
  
  🔄 Real Agent-to-Agent Handoff
&lt;/h1&gt;

&lt;p&gt;This is one of the features I am most excited about.&lt;/p&gt;

&lt;p&gt;The system doesn't simply ask Dia to generate a response about government schemes.&lt;/p&gt;

&lt;p&gt;Instead, Dia can hand the conversation over to &lt;strong&gt;Krishna, a separate specialist agent&lt;/strong&gt;.&lt;/p&gt;

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

&lt;p&gt;&lt;strong&gt;User:&lt;/strong&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;"What documents are required for PM-KISAN?"&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Dia responds:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;"This is a government-scheme question, so I'll connect you with Krishna, our government-scheme specialist. You won't need to repeat your question."&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Then Krishna takes over:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;"Hi, I'm Krishna, the government-scheme specialist. I understand you're asking about the documents required for PM-KISAN. Let me help you with that."&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;The important part is that the user &lt;strong&gt;doesn't have to explain the entire problem again&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;The relevant context is passed during the handoff.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;flowchart LR
    U[User] --&amp;gt; D[Dia]

    D --&amp;gt;|Government Scheme Question| K[Krishna]

    K --&amp;gt;|Continues Same Conversation| U

    D --&amp;gt;|Sensitive Issue| H[Human Support]
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This makes FINORA AI a &lt;strong&gt;multi-agent voice system&lt;/strong&gt;, rather than just a single chatbot with many prompts.&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%2Fjzo5pq7k6fouqfnvag9z.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%2Fjzo5pq7k6fouqfnvag9z.png" alt=" " width="799" height="414"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Caption: Dia handing the conversation to Krishna without requiring the user to repeat their question.&lt;/em&gt;&lt;/p&gt;




&lt;h1&gt;
  
  
  📊 Building the Call Analytics Dashboard
&lt;/h1&gt;

&lt;p&gt;After adding multiple capabilities, I wanted to answer a simple question:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Is the agent actually working?&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;That's why I built a call analytics dashboard.&lt;/p&gt;

&lt;p&gt;The dashboard tracks real calls and displays:&lt;/p&gt;

&lt;h3&gt;
  
  
  Total Calls
&lt;/h3&gt;

&lt;p&gt;The total number of calls handled.&lt;/p&gt;

&lt;h3&gt;
  
  
  Successful Calls
&lt;/h3&gt;

&lt;p&gt;Calls that reached the defined success condition.&lt;/p&gt;

&lt;h3&gt;
  
  
  Failed Calls
&lt;/h3&gt;

&lt;p&gt;Calls that ended without reaching the intended outcome.&lt;/p&gt;

&lt;p&gt;I also added agent handoff information.&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;Total Calls: 25

Successful Calls: 21

Failed Calls: 4

Agent Handoffs: 7

Handoffs to Krishna: 7
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Replace these example numbers with your actual dashboard values before publishing.&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;These numbers come from actual call activity rather than being hardcoded.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;[INSERT IMAGE: FINORA AI CALL ANALYTICS DASHBOARD]&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Caption: FINORA AI's call analytics dashboard showing real call outcomes and specialist handoffs.&lt;/em&gt;&lt;/p&gt;




&lt;h1&gt;
  
  
  📈 Handoff Analytics
&lt;/h1&gt;

&lt;p&gt;An important design decision was that a specialist handoff should &lt;strong&gt;not create a second call&lt;/strong&gt;.&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;CALL-001
   │
   ├── Dia
   │
   └── Krishna
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This is still:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;ONE CALL&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;with the handoff recorded as part of that call.&lt;/p&gt;

&lt;p&gt;This keeps the analytics accurate.&lt;/p&gt;

&lt;p&gt;The dashboard can therefore show the complete journey of a call without artificially inflating the number of calls.&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%2Fbkbuj7mtfcn336bay2m0.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%2Fbkbuj7mtfcn336bay2m0.png" alt=" " width="800" height="727"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Caption: Call analytics recording a Dia-to-Krishna handoff as part of the same conversation and call.&lt;/em&gt;&lt;/p&gt;




&lt;h1&gt;
  
  
  🎨 Designing a Simple User Experience
&lt;/h1&gt;

&lt;p&gt;While building all these features, I didn't want the website to become complicated.&lt;/p&gt;

&lt;p&gt;The FINORA AI interface is intentionally:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Minimalistic&lt;/li&gt;
&lt;li&gt;Clean&lt;/li&gt;
&lt;li&gt;Easy to understand&lt;/li&gt;
&lt;li&gt;Voice-focused&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The main navigation includes:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Voice Assistant&lt;/li&gt;
&lt;li&gt;Finance Dashboard&lt;/li&gt;
&lt;li&gt;Call Analytics&lt;/li&gt;
&lt;li&gt;Settings&lt;/li&gt;
&lt;li&gt;Help&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The user should be able to open the website and immediately understand what to do.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Talk to Dia. Get help.&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;The technology stays in the background.&lt;/p&gt;




&lt;h1&gt;
  
  
  🧩 The Challenges I Faced
&lt;/h1&gt;

&lt;p&gt;Building FINORA AI over ten days wasn't a simple process where everything worked on the first attempt.&lt;/p&gt;

&lt;p&gt;There were several challenges.&lt;/p&gt;

&lt;h2&gt;
  
  
  1. Building a Natural Voice Experience
&lt;/h2&gt;

&lt;p&gt;Connecting real-time voice communication, the agent, and TTS required understanding how all the components interact.&lt;/p&gt;

&lt;p&gt;A small configuration problem could mean the agent connected successfully but didn't respond correctly.&lt;/p&gt;

&lt;p&gt;I had to debug the voice pipeline step by step instead of assuming the issue was always with the LLM.&lt;/p&gt;




&lt;h2&gt;
  
  
  2. Deciding When AI Should Stop
&lt;/h2&gt;

&lt;p&gt;One of the biggest design questions was:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;When should AI answer, and when should AI stop?&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Too many escalations make the experience frustrating.&lt;/p&gt;

&lt;p&gt;Too few can make the system unsafe.&lt;/p&gt;

&lt;p&gt;So I created clear conditions for human escalation and specialist handoff.&lt;/p&gt;




&lt;h2&gt;
  
  
  3. Keeping Analytics Real
&lt;/h2&gt;

&lt;p&gt;Displaying numbers on a dashboard is easy.&lt;/p&gt;

&lt;p&gt;Making those numbers represent &lt;strong&gt;actual calls&lt;/strong&gt; is much harder.&lt;/p&gt;

&lt;p&gt;The system needs to record the call outcome and handoff information from the actual voice session.&lt;/p&gt;

&lt;p&gt;This helped me understand the difference between building a UI and building a system that produces meaningful data.&lt;/p&gt;




&lt;h2&gt;
  
  
  4. Multi-Agent Handoff
&lt;/h2&gt;

&lt;p&gt;The biggest challenge with Krishna was making the handoff feel like one continuous conversation.&lt;/p&gt;

&lt;p&gt;Krishna needs to understand:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;What the user asked&lt;/li&gt;
&lt;li&gt;Why Dia handed the conversation over&lt;/li&gt;
&lt;li&gt;What language the user is using&lt;/li&gt;
&lt;li&gt;What context is relevant&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The user shouldn't have to start again with:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;"Hello, I was asking..."&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;The handoff should feel natural.&lt;/p&gt;




&lt;h1&gt;
  
  
  🚀 How You Can Build Your Own Voice Agent
&lt;/h1&gt;

&lt;p&gt;If you want to build a voice agent yourself, there are four major pieces you need.&lt;/p&gt;

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

&lt;p&gt;Converts the user's speech into text.&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
   ↓
Speech-to-Text
   ↓
Text
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  2. LLM / Agent
&lt;/h2&gt;

&lt;p&gt;The agent understands the request and decides what to do.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Text
 ↓
LLM
 ↓
Decision
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



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

&lt;p&gt;The response is converted back into voice.&lt;/p&gt;

&lt;p&gt;For FINORA AI, I use &lt;strong&gt;Murf Falcon&lt;/strong&gt;.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Agent Response
      ↓
Murf Falcon
      ↓
Natural Voice
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



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

&lt;p&gt;A real-time communication layer connects the user and the voice agent.&lt;/p&gt;

&lt;p&gt;FINORA AI uses &lt;strong&gt;LiveKit&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;The simplified pipeline 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
 ↓
Microphone
 ↓
LiveKit
 ↓
Speech-to-Text
 ↓
Dia / Krishna
 ↓
LLM
 ↓
Murf Falcon
 ↓
LiveKit
 ↓
User
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






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

&lt;p&gt;Start by cloning the project:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;git clone https://github.com/Sujayhs07/murf-livekit-starter/tree/DAY10
&lt;span class="nb"&gt;cd &lt;/span&gt;murf-livekit-starter
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Create a &lt;code&gt;.env&lt;/code&gt; file for your API keys and configuration.&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

LIVEKIT_URL=your_livekit_url
LIVEKIT_API_KEY=your_livekit_api_key
LIVEKIT_API_SECRET=your_livekit_api_secret
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Add any additional credentials required by your implementation.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Never commit your &lt;code&gt;.env&lt;/code&gt; file to GitHub.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Add it to &lt;code&gt;.gitignore&lt;/code&gt;:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;.env
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Then install the dependencies and start the LiveKit agent according to the project's setup instructions.&lt;/p&gt;

&lt;p&gt;Once the browser client connects, you can start a conversation with Dia.&lt;/p&gt;




&lt;h1&gt;
  
  
  🧪 Testing FINORA AI
&lt;/h1&gt;

&lt;p&gt;I tested different conversation paths.&lt;/p&gt;

&lt;h2&gt;
  
  
  Test 1 — Normal Question
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;User:&lt;/strong&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;"What is compound interest?"&lt;/p&gt;
&lt;/blockquote&gt;

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

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

&lt;/div&gt;



&lt;p&gt;No specialist handoff.&lt;/p&gt;




&lt;h2&gt;
  
  
  Test 2 — Government Scheme
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;User:&lt;/strong&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;"What documents do I need for PM-KISAN?"&lt;/p&gt;
&lt;/blockquote&gt;

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

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;User
 ↓
Dia
 ↓
Krishna
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The user should not have to repeat the question.&lt;/p&gt;




&lt;h2&gt;
  
  
  Test 3 — Hindi Government Scheme
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;User:&lt;/strong&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;"PM-KISAN के लिए कौन-कौन से documents चाहिए?"&lt;/p&gt;
&lt;/blockquote&gt;

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

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;User
 ↓
Dia — Hindi
 ↓
Krishna — Hindi
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The language should remain consistent across the handoff.&lt;/p&gt;




&lt;h2&gt;
  
  
  Test 4 — Possible Fraud
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;User:&lt;/strong&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;"Someone made a transaction from my account."&lt;/p&gt;
&lt;/blockquote&gt;

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

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;User
 ↓
Dia
 ↓
Permission
 ↓
Human Escalation
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;It should &lt;strong&gt;not&lt;/strong&gt; be routed to Krishna.&lt;/p&gt;




&lt;h2&gt;
  
  
  Test 5 — Analytics
&lt;/h2&gt;

&lt;p&gt;After the call ends, the dashboard should reflect the real result:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Total Calls ↑

Successful Calls ↑

Failed Calls ↑

Handoffs to Krishna ↑
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&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%2Frx6ousezakiaq4efwa3i.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%2Frx6ousezakiaq4efwa3i.png" alt=" " width="799" height="549"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Caption: A snapshot of FINORA AI's end-to-end voice-agent workflow.&lt;/em&gt;&lt;/p&gt;




&lt;h1&gt;
  
  
  📚 What I Learned
&lt;/h1&gt;

&lt;p&gt;The biggest lesson I learned from this challenge is that building a voice agent isn't really about making an AI talk.&lt;/p&gt;

&lt;p&gt;The interesting engineering begins after that.&lt;/p&gt;

&lt;p&gt;You have to think about:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;What should the agent know?&lt;/li&gt;
&lt;li&gt;What should it remember?&lt;/li&gt;
&lt;li&gt;When should it use a tool?&lt;/li&gt;
&lt;li&gt;When should it stop?&lt;/li&gt;
&lt;li&gt;When should a human take over?&lt;/li&gt;
&lt;li&gt;When should another agent take over?&lt;/li&gt;
&lt;li&gt;How should context move between agents?&lt;/li&gt;
&lt;li&gt;How do we measure success?&lt;/li&gt;
&lt;li&gt;How do we protect user information?&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;These questions completely changed how I think about voice AI.&lt;/p&gt;




&lt;h1&gt;
  
  
  🔮 What I'd Build Next
&lt;/h1&gt;

&lt;p&gt;FINORA AI still has a lot of room to grow.&lt;/p&gt;

&lt;p&gt;Some things I'd like to work on next are:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;More Indian languages&lt;/li&gt;
&lt;li&gt;More specialist agents&lt;/li&gt;
&lt;li&gt;Better multilingual conversations&lt;/li&gt;
&lt;li&gt;Improved personalization&lt;/li&gt;
&lt;li&gt;More advanced analytics&lt;/li&gt;
&lt;li&gt;More government-scheme coverage&lt;/li&gt;
&lt;li&gt;Better accessibility&lt;/li&gt;
&lt;li&gt;Smarter follow-up workflows&lt;/li&gt;
&lt;li&gt;A richer human-support dashboard&lt;/li&gt;
&lt;li&gt;More robust real-world integrations&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;I'd especially like to expand the multi-agent architecture so FINORA AI can route users to different specialists depending on what they need.&lt;/p&gt;




&lt;h1&gt;
  
  
  ❤️ What 10 Days Taught Me
&lt;/h1&gt;

&lt;p&gt;When I started the challenge, I thought the hardest part would be getting an AI agent to speak.&lt;/p&gt;

&lt;p&gt;By Day 10, I realized:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Voice is only the beginning.&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;The real challenge is building an agent that knows how to behave.&lt;/p&gt;

&lt;p&gt;An agent that can say:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;"I can help with that."&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;But also knows when to say:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;"Let me connect you with Krishna, our specialist."&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;And sometimes:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;"This needs human assistance."&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;That's what I wanted FINORA AI to become.&lt;/p&gt;

&lt;p&gt;Not just an AI that talks.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;An AI that knows what to do next.&lt;/strong&gt;&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/Sujayhs07/murf-livekit-starter/tree/DAY10" rel="noopener noreferrer"&gt;https://github.com/Sujayhs07/murf-livekit-starter/tree/DAY10&lt;/a&gt;&lt;/p&gt;

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

&lt;p&gt;&lt;strong&gt;&lt;a href="https://github.com/murf-ai/voice-for-bharat-challenge-2026/tree/main/challenges" rel="noopener noreferrer"&gt;10 Days of Voice Agents — VoiceForBharat Edition&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;




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

&lt;p&gt;Building FINORA AI during the &lt;strong&gt;10 Days of Voice Agents — VoiceForBharat Edition&lt;/strong&gt; has been one of the most hands-on AI projects I've worked on.&lt;/p&gt;

&lt;p&gt;Over these ten days, I explored real-time voice communication, TTS, agent design, memory, outbound calls, human escalation, call analytics, and multi-agent handoffs.&lt;/p&gt;

&lt;p&gt;More importantly, I learned that building a useful AI system isn't only about adding more features.&lt;/p&gt;

&lt;p&gt;It's about knowing &lt;strong&gt;when each feature should be used&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Dia doesn't need to know everything.&lt;/p&gt;

&lt;p&gt;Krishna doesn't need to handle everything.&lt;/p&gt;

&lt;p&gt;And AI doesn't need to handle everything either.&lt;/p&gt;

&lt;p&gt;Sometimes the best decision an AI can make is to &lt;strong&gt;ask another specialist or a human for help&lt;/strong&gt;.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;A good voice agent isn't the one that tries to do everything. It's the one that knows what it can do, knows what it can't, and knows what to do next.&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Thanks 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 giving me the opportunity to build, experiment, break things, fix them, and learn along the way.&lt;/p&gt;

&lt;h2&gt;
  
  
  🛠️ Built With
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;🎙️ &lt;strong&gt;Murf Falcon&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;⚡ &lt;strong&gt;LiveKit&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;🧠 &lt;strong&gt;LLM-powered Agents&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;🗣️ &lt;strong&gt;English + Hindi&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;🤝 &lt;strong&gt;Human Escalation&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;🔄 &lt;strong&gt;Multi-Agent Handoff&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;📊 &lt;strong&gt;Call Analytics&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;🎨 &lt;strong&gt;Minimalistic Web Interface&lt;/strong&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;#VoiceForBharat #10DaysOfVoiceAgents #MurfAI #VoiceAI #GenerativeAI #AI #FinTech&lt;/strong&gt;@MURFAI&lt;/p&gt;

</description>
      <category>ai</category>
      <category>python</category>
      <category>beginners</category>
      <category>api</category>
    </item>
  </channel>
</rss>
