cd /news/artificial-intelligence/building-finsaathi-a-voice-first-finโ€ฆ ยท home โ€บ topics โ€บ artificial-intelligence โ€บ article
[ARTICLE ยท art-97209] src=dev.to โ†— pub= topic=artificial-intelligence verified=true sentiment=โ†‘ positive

Building FinSaathi: A Voice-First Financial Assistant for Bharat ๐Ÿ‡ฎ๐Ÿ‡ณ 10 Days of Voice Agents โ€” VoiceForBharat Edition

A developer built FinSaathi, a voice-first AI assistant for financial services in India, as part of the VoiceForBharat challenge. The system uses LiveKit for real-time transport, Murf Falcon for text-to-speech, and supports Hindi/Hinglish conversations, with features including government scheme eligibility checks, user memory, outbound calling, human escalation, and call analytics.

read5 min views1 publishedAug 14, 2026

Over the last 10 days, I built FinSaathi, a voice-first AI assistant for the Financial Services track of the VoiceForBharat challenge.

The goal was simple: build an assistant that can talk naturally with users, understand financial and government-scheme related queries, remember relevant information, use tools, and know when a human or specialist should take over.

What started as a basic voice agent gradually became a complete system with memory, tools, outbound calling, human escalation, call analytics, and specialist-agent handoffs.

๐Ÿ’ก The Problem

Financial and government-scheme processes can involve eligibility requirements, documents, deadlines, and complicated terminology.

For users who are more comfortable speaking than typing, voice can make these interactions much more natural.

For example, a user can simply ask:

"PMJJBY ke liye main eligible hoon?"

Instead of navigating through multiple forms, FinSaathi can understand the request, collect the required information, perform an eligibility check, and explain the result conversationally.

The goal is not to replace banks or human support, but to provide a conversational first layer of assistance and escalate situations when human help is required.

๐Ÿ—๏ธ Architecture

USER

โ”‚

โ–ผ

LiveKit

โ”‚

โ–ผ

Speech-to-Text โ”‚

โ–ผ

LLM / Agent

โ”‚

โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”

โ–ผ โ–ผ โ–ผ

Memory Tools Escalation

โ”‚ โ”‚ โ”‚

โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

โ–ผ

SQLite DB

โ”‚

โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”

โ–ผ โ–ผ

Human Support Analytics

Dashboard Dashboard

โ”‚

โ–ผ

Murf Falcon

โ”‚

โ–ผ

USER

Technology Stack

Component

Technology

Frontend

Next.js / React

AI Agent

LiveKit Agents

Real-time Transport

LiveKit

Text-to-Speech Murf Falcon

Backend

Python

API

FastAPI

Database

SQLite

Calling

SIP / LiveKit

๐ŸŽ™๏ธ Key Features

  • Indian Voice & Natural Conversations FinSaathi uses Murf Falcon for text-to-speech and supports natural Hindi/Hinglish conversations. The goal was to make the interaction feel more like talking to an assistant rather than interacting with a traditional chatbot.
  • Safety Guardrails Financial conversations require strong safety boundaries. For example, when a user reports an unauthorized transaction, FinSaathi warns them not to share: OTP PIN Password CVV Card details The agent also clearly explains when it does not have direct access to a user's bank account or transaction system.
  • User Memory FinSaathi stores relevant user information in a SQLite database so it can be reused in future conversations. The database logic is separated into its own layer: Agent โ†“ database.py โ†“ SQLite โ†“ users table This made it easier to extend the project without mixing database operations throughout the agent code.
  • Government Scheme Eligibility FinSaathi can use tools to perform government-scheme eligibility checks. User asks about scheme โ†“ Collect required information โ†“ Eligibility tool โ†“ Eligible / Not Eligible โ†“ Database โ†“ User receives result The eligibility result can also be used to determine whether the user's intended task was successfully completed.
  • Outbound Calling FinSaathi can proactively contact eligible users using outbound calling. Database โ†“ Check deadlines / eligible users โ†“ Outbound calling logic โ†“ SIP / LiveKit โ†“ AI Agent โ†“ User Setting up and debugging the SIP and LiveKit calling flow was one of the most challenging parts of the project.
  • Human Escalation FinSaathi can recognize situations where human support is more appropriate. For example, for an unauthorized transaction, the agent can ask: "Agar aap chahein, toh main aapki situation ke liye ek human support request create kar sakti hoon." After the user gives consent, the system creates an escalation and generates a unique reference ID. Example: FS-A5323F The request is stored with information such as: Reason: possible_fraud Urgency: HIGH Status: OPEN Preferred Follow-up: phone The human-support dashboard then allows the request to move through: OPEN โ†“ IN_PROGRESS โ†“ RESOLVED
  • Call Analytics FinSaathi also records the outcome of conversations. For this project, a successful interaction means that the user's intended task was completed, such as completing an eligibility check or receiving the required information. The dashboard displays: Total Calls Successful Calls Failed Calls These values come from actual browser or SIP interactions rather than hardcoded numbers. Actual Call โ†“ Determine Outcome โ†“ call_analytics โ†“ FastAPI โ†“ Analytics Dashboard A failed call does not necessarily mean a technical failure. For example, if a user leaves before completing an eligibility check, the interaction can be recorded as unsuccessful.
  • Specialist Agent Handoff Instead of making one agent responsible for every type of question, FinSaathi can hand government-scheme related conversations to a Government Scheme Specialist. Main Agent โ”‚ Government scheme? โ”‚ YES โ†“ Government Scheme Specialist โ”‚ โ†“ Eligibility / Documents / Benefits / Scheme Information This makes the architecture more modular and allows additional specialist agents to be added in the future. ๐Ÿงฉ Challenges I Faced The project definitely did not work perfectly on the first attempt. One of the biggest challenges was real-time calling and LiveKit/SIP integration. During testing, I encountered errors such as: WinError 64 ConnectionResetError DuplexClosed I also faced an outbound-call issue where the AI would start speaking but the call could terminate before the conversation continued. Debugging this required checking: LiveKit worker lifecycle SIP configuration Network connections Agent processes Call state Real-time transport This taught me that building a voice agent is not only about the LLM. The real-time infrastructure around the agent matters just as much. Another important lesson was separating responsibilities between the agent, database, API, and frontend. For example: Agent โ†’ database.py โ†’ SQLite while the human-support dashboard uses: Frontend โ†’ FastAPI โ†’ database.py โ†’ SQLite This separation made the system easier to extend and debug.๐Ÿš€ What I Learned Before this challenge, I thought building a voice agent was mainly: Speech โ†’ AI โ†’ Speech After these 10 days, I realized that a useful voice agent needs much more: Voice

LLM + Memory + Tools + Safety + Real-time communication + Database + Human escalation + Analytics + Specialist handoffs The biggest lesson for me was: A useful voice agent isn't just an AI that can talk. It's a system that can understand, act, remember, measure its performance, and know when a human or specialist should take over. Building FinSaathi during the 10 Days of Voice Agents โ€” VoiceForBharat Edition gave me hands-on experience with all of these pieces.

โ”€โ”€ more in #artificial-intelligence 4 stories ยท sorted by recency
โ”€โ”€ more on @finsaathi 3 stories trending now
sponsored brought to you by zahid.host 4,200+ EU-deployed projects
reading about agents? ship yours in a single git push.

Run your AI side-project on zahid.host

EU-based hosting, git-push deploys, automatic HTTPS, no cold starts. Free tier with a custom domain โ€” perfect for shipping the agent you just read about.

$git push zahid main
โ†’ Live at https://your-agent.zahid.host โœ“
Get free account โ†’ Pricing
from โ‚ฌ0/mo ยท no card required
LIVE [news/building-finsaathi-aโ€ฆ] indexed:0 read:5min 2026-08-14 ยท โ€”