Building a Voice-First Financial Assistant with Murf Falcon & LiveKit
10 Days of Voice Agents โ VoiceForBharat Edition
Author: Khushi Seth
GitHub: https://github.com/khushi-seth/VaaniFinance-AI (update if you rename the repository)
๐ Introduction
When I started the 10 Days of Voice Agents โ VoiceForBharat Edition, my goal was simple:
"Can I build a voice assistant that feels like talking to a real financial advisor instead of a chatbot?"
After 10 days of learning, debugging, and building, I created VaaniFinance AIโa real-time voice assistant that can:
๐๏ธ Listen to users
๐ง Understand context
๐พ Remember previous conversations
๐ ๏ธ Use tools
๐ Make outbound phone calls
๐จโ๐ผ Escalate conversations to humans
๐ Transfer to specialist agents
๐ Track call outcomes
This blog shares my journey, architecture, challenges, and what I learned while building it.
๐ผ๏ธ Project Preview
๐ท Add Screenshot Here
Insert a screenshot of your frontend showing the voice assistant interface.
โ Why Build a Voice Financial Assistant?
Financial services can often be confusing.
People struggle with:
Understanding schemes
Filling forms
Eligibility questions
Required documents
Technical financial terms
Instead of making users search through long websites, I wanted them to simply ask:
"Can I apply for this scheme?"
or
"What documents do I need?"
The assistant answers naturally using voice.
๐๏ธ System Architecture
USER
โ
๐ค Speaks naturally
โ
โผ
Speech-to-Text (STT)
โ
โผ
LiveKit Voice Agent
โ
โโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโ
โผ โผ โผ
Memory Gemini Tools
(SQLite DB) LLM Financial Functions
โ โ โ
โโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโ
โผ
Murf Falcon Text-to-Speech
โ
โผ
๐ Spoken Response
๐ท Add Architecture Diagram Here
You can recreate the above flow in Canva, Excalidraw, or draw.io and insert it as an image.
๐ ๏ธ Tech Stack
Technology Purpose
LiveKit Real-time voice communication
Murf Falcon Fast, natural text-to-speech
Google Gemini Language model
Deepgram Speech-to-text
Twilio Outbound phone calls
SQLite User memory
Python Backend
Next.js + React Frontend
Tailwind CSS UI
โจ Features
๐๏ธ 1. Real-Time Voice Conversation
Users talk naturally.
The assistant listens, understands, and replies in real time.
๐ฎ๐ณ 2. Indian Voice using Murf Falcon
Voice quality matters.
Using Murf Falcon, the responses sound natural and conversational, making interactions more engaging.
๐ง 3. Persistent Memory
Instead of forgetting every conversation, the assistant remembers returning users.
Conversation 1
User:
"My name is Khushi."
โ
Conversation 2
Agent:
"Welcome back, Khushi!"
๐ ๏ธ 4. Tool Calling
The LLM doesn't rely only on generated answers.
When required, it can call tools to fetch information before responding.
User Question
โ
โผ
Does it require a tool?
โ
โโโโโโดโโโโโ
โ โ
No Yes
โ โ
โผ โผ
Answer Tool Call
โ
โผ
Tool Result
โ
โผ
Final Voice Response
๐ 5. Outbound Calling
I integrated Twilio so the assistant can initiate phone conversations.
User Phone
โ
โผ
Twilio
โ
โผ
LiveKit Agent
โ
โผ
Voice Conversation
๐จโ๐ผ 6. Human Escalation
AI shouldn't answer everything.
If a request requires human help, the assistant can escalate.
User
โ
โผ
Voice Agent
โ
โผ
Needs Human?
โ
โโโ No โ Continue
โ
โโโ Yes โ Escalate
๐ 7. Specialist Handoff
Different agents can handle different domains.
Main Agent
โ
โโโโโผโโโโโ
โผ โผ โผ
Loan Tax Insurance
Agent Agent Agent
๐ 8. Analytics Dashboard
Every conversation is useful.
Tracking outcomes helps understand:
Successful calls
Failed calls
User interactions
Performance
๐ง Challenges I Faced
LiveKit Authentication
The biggest challenge initially was getting LiveKit configured correctly.
Solution
I verified:
Environment variables
API Keys
Agent startup
LiveKit room connection
before debugging anything else.
Twilio Integration
Connecting browser conversations with phone calls introduced authentication and routing issues.
After several iterations, outbound calling worked successfully.
Debugging
The project taught me an important lesson:
Debug one layer at a time.
Instead of changing everything, I tested:
Environment
โ
LiveKit
โ
STT
โ
LLM
โ
Memory
โ
Tools
โ
Murf Falcon
โ
Frontend
This saved hours of debugging.
๐ How to Run the Project
Clone the repository:
git clone https://github.com/khushi-seth/VaaniFinance-AI.git
Install dependencies.
Create:
backend/.env.local
Example:
LIVEKIT_URL=your_livekit_url
LIVEKIT_API_KEY=your_livekit_api_key
LIVEKIT_API_SECRET=your_livekit_api_secret
MURF_API_KEY=your_murf_api_key
Never upload secrets to GitHub.
Run the backend:
uv run python src/agent.py dev
Run the frontend:
pnpm dev
๐ Future Improvements
I would like to add:
๐ Better multilingual conversations
โก Lower latency
๐ Advanced analytics
๐ค Smarter specialist routing
โ๏ธ Cloud deployment
๐ฑ Mobile support
๐ What I Learned
This challenge completely changed my understanding of AI agents.
Initially I thought:
Speech โ LLM โ Voice
Now I understand that a production-ready voice agent needs:
Speech
โ
Reasoning
โ
Memory
โ
Tools
โ
Phone Support
โ
Analytics
โ
Human Escalation
โ
Specialist Agents
Building a voice agent isn't only about making AI speak.
It's about creating a system that can understand, reason, remember, and act.
๐ธ Gallery
Add these screenshots before publishing:
๐ท Homepage of your Voice Agent
๐ท Voice conversation in progress
๐ท Twilio successful call
๐ท LiveKit dashboard
๐ท Analytics dashboard
๐ท Project folder in VS Code
๐ท GitHub repository
๐ Project Links
GitHub
https://github.com/khushi-seth/VaaniFinance-AI
๐ Thank You
A huge thank you to Murf AI for organizing the 10 Days of Voice Agents โ VoiceForBharat Edition.
This challenge helped me understand how modern voice AI systems are builtโfrom speech recognition to real-time conversations, memory, telephony, and intelligent agent workflows.
The journey doesn't end hereโthis is just the beginning of building better voice experiences for everyone.
Top comments (0)