DEV Community

Yash Dodiya
Yash Dodiya

Posted on

Building FinSafe AI: My 10-Day Voice Agent Journey ๐Ÿš€

๐ŸŽ™๏ธ Building FinSafe AI: My 10-Day Voice Agent Journey ๐Ÿš€

10 Days. One Voice Agent. Countless lessons.

Over the last 10 days, I took my FinSafe AI Voice Assistant from a basic voice conversation to a much more capable AI system that can talk, remember, use tools, make calls, involve humans, and hand conversations to specialist agents. ๐Ÿค–๐ŸŽ™๏ธ

This journey was part of the Murf AI 10 Days of Voice Agents โ€” VoiceForBharat Edition.

And honestly, I learned that building a voice agent is not just about making an AI talk.

It's about making it useful, reliable, safe, and natural. ๐Ÿ’ก

๐Ÿ’ฐ WHAT IS FInSAFE AI?

FinSafe AI is a voice-first assistant designed for the Financial Services track.

๐ŸŽฏ Goal: Make financial information easier to access through natural voice conversations.

Instead of typing questions, users can simply speak with the assistant and receive a voice response.

The idea is simple:

๐Ÿ—ฃ๏ธ Speak naturally โ†’ AI understands โ†’ AI takes action โ†’ AI responds

๐Ÿ—๏ธ HOW DOES FInSAFE AI WORK?

The basic architecture looks like this:

๐Ÿ‘ค User
โ†“
๐ŸŽค Speech-to-Text
โ†“
๐Ÿง  LLM
โ†“
๐Ÿ› ๏ธ Tools / ๐Ÿง  Memory / ๐Ÿค– Specialist Agents
โ†“
๐Ÿ”Š Text-to-Speech
โ†“
๐Ÿ‘ค User

The real-time communication layer connects the different parts of the voice experience.

I used LiveKit for the real-time voice-agent infrastructure and Murf Falcon for text-to-speech. ๐ŸŽ™๏ธโšก

๐Ÿš€ WHAT I BUILT DURING THESE 10 DAYS

๐ŸŽ™๏ธ 1. A VOICE AGENT WITH A CLEAR ROLE

I started by creating the FinSafe AI Voice Assistant with a clearly defined financial-services role.

Instead of making it a general-purpose chatbot, I gave it:

๐Ÿง  A clear personality
๐ŸŽฏ Defined objectives
๐Ÿ›ก๏ธ Safety guardrails
๐Ÿ“‹ Specific responsibilities

This helped make conversations more focused and predictable.

๐ŸŒ 2. MULTILINGUAL VOICE CONVERSATIONS

One of the features I worked on was multilingual communication.

FinSafe can communicate in languages such as:

๐Ÿ‡ฌ๐Ÿ‡ง English
๐Ÿ‡ฎ๐Ÿ‡ณ Hindi
เช—เซเชœเชฐเชพเชคเซ€ Gujarati
๐ŸŒŽ Other supported languages

I also worked on making the agent respond according to the language the user is speaking.

This was an important lesson:

๐ŸŒ A multilingual voice agent shouldn't just understand another language โ€” it should also respond naturally in that language.

๐Ÿ’ป 3. A PERSONALIZED FRONTEND

I improved the frontend experience so users can understand what the voice agent is doing.

The interface clearly shows different agent states:

๐ŸŸข Ready
๐Ÿ”„ Connecting
๐ŸŽค Listening
๐Ÿ”Š Speaking
๐Ÿ”ด Call Ended

This makes the voice experience easier to understand because users can see whether the agent is listening, responding, connecting, or finished.

๐Ÿง  4. PERSISTENT MEMORY

One of my biggest improvements was giving FinSafe long-term memory.

Before this, the agent could forget everything when a conversation ended.

I added SQLite-based persistent memory so approved caller information can be stored and retrieved in future conversations. ๐Ÿ—„๏ธ

The memory can include:

๐Ÿ‘ค User ID
๐Ÿ“ Name
๐ŸŒ Language preference
๐Ÿ’ฐ Relevant financial facts
๐Ÿ• Last interaction

For example:

๐Ÿ“ž First Conversation

User โ†’ My name is Ramesh.

Agent โ†’ Can I remember your name for future conversations?

User โ†’ Yes.

    โ†“
Enter fullscreen mode Exit fullscreen mode

๐Ÿ“ž Second Conversation

Agent โ†’ Welcome back, Ramesh! ๐Ÿ‘‹

๐Ÿ” Privacy was also important.

The agent asks for consent before saving information.

For financial services, sensitive information such as account numbers or government ID numbers should not be stored.

๐Ÿ”Ž 5. GIVING MY AGENT REAL-WORLD TOOLS

A voice agent becomes much more useful when it can use tools instead of relying only on the model's existing knowledge.

For FinSafe, I implemented a financial scheme eligibility lookup. ๐Ÿ’ฐ

The flow looks like:

๐Ÿ—ฃ๏ธ User asks a question
โ†“
๐Ÿง  Agent decides a tool is needed
โ†“
๐Ÿ”Ž Eligibility tool
โ†“
๐Ÿ“Š Data is processed
โ†“
๐Ÿ”Š Agent explains the result

I also added handling for situations where the data source is unavailable.

๐Ÿšซ The agent should never invent an answer just because a tool failed.

Instead, it should clearly explain that the information couldn't be retrieved.

๐Ÿ“ž 6. OUTBOUND VOICE CALLS

I also moved beyond a browser-only experience and worked with outbound voice calls. ๐Ÿ“ฑ๐ŸŽ™๏ธ

This showed me how voice agents can proactively communicate with users instead of always waiting for someone to start a conversation.

๐Ÿ‘ค 7. HUMAN ESCALATION

AI shouldn't try to solve every problem.

Sometimes the right answer is:

๐Ÿค "Let me connect you with a human."

I added a human escalation path for situations where human assistance may be more appropriate.

This is especially important in financial services, where some situations require additional support.

๐Ÿ“Š 8. CALL TRACKING & ANALYTICS

I also worked on tracking information about voice interactions and call outcomes. ๐Ÿ“ˆ

Analytics can help answer questions like:

๐Ÿ“ž How many conversations happened?
๐ŸŽฏ What was the outcome?
๐Ÿ‘ค Which interactions required additional help?
๐Ÿ“ˆ How is the agent being used?

This turns the project from a simple voice demo into something that can be monitored and improved.

๐Ÿค– 9. SPECIALIST AGENT HANDOFF

One of my final improvements was adding a specialist agent.

For FinSafe, I created a:

๐Ÿ›๏ธ Government Scheme Specialist

Its job is focused specifically on government-scheme-related questions.

The architecture looks like:

         ๐Ÿค– FinSafe Main Agent
                 โ”‚
      Is specialist help needed?
            /          \
          No            Yes
          โ”‚              โ”‚
          โ–ผ              โ–ผ
    ๐Ÿ’ฌ Main Answer    ๐Ÿ”„ Handoff
                          โ”‚
                          โ–ผ
                ๐Ÿ›๏ธ Scheme Specialist
                          โ”‚
                          โ–ผ
                     ๐Ÿ‘ค User
Enter fullscreen mode Exit fullscreen mode

Before transferring the conversation, the main agent clearly explains what's happening:

๐Ÿ—ฃ๏ธ "I'll connect you with our government scheme specialist who can help you with this."

The specialist then continues the conversation using the user's existing context.

๐Ÿ’ก Biggest lesson:

A good AI agent doesn't need to be an expert at everything. It needs to know when to involve the right specialist.

๐Ÿงฉ THE CHALLENGES I FACED

The project definitely didn't work perfectly on the first attempt. ๐Ÿ˜…

And honestly, that's where some of the best learning happened.

๐ŸŒ Multilingual Response Issues

Initially, the agent could understand multiple languages, but sometimes the response language wasn't what I expected.

I had to improve the language instructions so the agent follows the user's current language more consistently.

๐Ÿ”Œ LiveKit Connection Issues

During testing, I also encountered LiveKit connectivity problems such as:

WinError 1231
ConnectionReset 10054

These issues taught me that voice applications depend not only on application code, but also on stable real-time network connections.

๐Ÿง  Memory Challenges

Another challenge was making sure the agent could actually recognize a returning caller instead of simply remembering a name from the conversation.

The system uses a user/caller identity to retrieve saved information from the database.

๐Ÿ› ๏ธ WANT TO BUILD YOUR OWN VOICE AGENT?

Here is the basic architecture you need:

๐ŸŽค Speech-to-Text
โ†“
๐Ÿง  Large Language Model
โ†“
๐Ÿ› ๏ธ Tools / Database / Agents
โ†“
๐Ÿ”Š Text-to-Speech
โ†“
โšก Real-Time Voice Transport

You need:

๐ŸŽค Speech-to-Text โ€” understand the user
๐Ÿง  LLM โ€” process the conversation
๐Ÿ”Š Text-to-Speech โ€” generate the response
โšก Real-time transport โ€” handle the live conversation
๐Ÿ› ๏ธ Tools โ€” fetch external information
๐Ÿ—„๏ธ Database โ€” store approved memory

โš™๏ธ SETTING UP THE PROJECT

Clone the repository:

git clone --> https://github.com/Dodiyayash/murf-livekit-starter?utm_source=chatgpt.com
cd murf-livekit-starter

Create your Python environment and install the dependencies according to the repository instructions.

Then configure your environment variables:

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 publish your real API keys.

Use environment variables and keep secret files out of your public repository.

๐Ÿ” KEEP YOUR DATA SAFE

Never publish:

โŒ API keys
โŒ API secrets
โŒ Phone numbers
โŒ Caller information
โŒ Passwords
โŒ OTPs
โŒ Bank account numbers
โŒ Government ID numbers
โŒ Private database information

Security should be part of the design from the beginning. ๐Ÿ”

๐Ÿ’ป EXPLORE THE CODE

The project is available on GitHub:

https://github.com/Dodiyayash/murf-livekit-starter

You can explore the project and the different branches created during the challenge. ๐Ÿš€

๐Ÿ’ก WHAT I LEARNED

The biggest lesson from these 10 days:

A useful voice agent is much more than an LLM connected to a microphone.

A strong voice agent needs:

๐Ÿ—ฃ๏ธ Conversation
๐Ÿง  Context
๐Ÿ› ๏ธ Tools
๐Ÿ’พ Memory
๐Ÿ›ก๏ธ Safety
๐Ÿ“Š Reliability
๐Ÿค– Specialization

Memory makes conversations personal.

Tools allow the agent to access useful information.

Guardrails keep the agent within its intended role.

Human escalation provides a safety net.

Specialist handoffs allow the system to handle more complex requests.

And a good frontend helps users understand what's happening.

๐Ÿš€ MY 10-DAY JOURNEY

๐ŸŽ™๏ธ Voice Agent
โ†“
๐Ÿ›ก๏ธ Role & Guardrails
โ†“
๐ŸŒ Multilingual Support
โ†“
๐Ÿ’ป Personalized Frontend
โ†“
๐Ÿง  Persistent Memory
โ†“
๐Ÿ”Ž Financial Tools
โ†“
๐Ÿ“ž Outbound Calls
โ†“
๐Ÿ‘ค Human Escalation
โ†“
๐Ÿ“Š Call Analytics
โ†“
๐Ÿค– Specialist Handoff

What started as a simple voice assistant became a much more complete conversational AI system. ๐Ÿš€

โค๏ธ FINAL THOUGHTS

This 10 Days of Voice Agents challenge has been an incredible hands-on learning experience.

I learned that building voice AI isn't just about making something that speaks.

It's about creating something that can:

Listen โ†’ Understand โ†’ Remember โ†’ Act โ†’ Escalate โ†’ Respond ๐ŸŽ™๏ธ๐Ÿง โšก

I'm excited to continue improving FinSafe AI and explore what I can build next.

A huge thanks to Murf AI for organizing the 10 Days of Voice Agents โ€” VoiceForBharat Edition and giving me the opportunity to build with Murf Falcon. ๐ŸŽง๐Ÿ‡ฎ๐Ÿ‡ณ

๐Ÿš€ One journey. 10 days. One voice agent. And a lot of learning.

Keep building. Keep experimenting. Keep learning. ๐Ÿ’ป๐Ÿ”ฅ

10DaysOfVoiceAgents #VoiceForBharat #MurfAI #MurfFalcon #VoiceAI #AIVoiceAgent #GenerativeAI #ConversationalAI #FinTech #BuildInPublic #AI #VoiceTechnology

Top comments (0)