{"slug": "building-finsaathi-a-voice-first-ai-financial-assistant-with-livekit-and-murf", "title": "Building FinSaathi: A Voice-First AI Financial Assistant with LiveKit and Murf", "summary": "A developer built FinSaathi, a voice-first AI financial assistant using LiveKit and Murf, and successfully deployed it to production. The system uses a Next.js frontend, a Python AI agent, and voice/AI services, with the agent running on Railway. The developer overcame deployment challenges including Docker path issues and file permissions, and the core voice interaction now works end-to-end in production.", "body_md": "Financial information can be difficult to understand. Banking terms, loans, credit scores, payments, and other financial decisions can quickly become overwhelming when users have to navigate everything through forms and complicated interfaces.\n\nSo I wanted to explore a simpler interaction:\n\nWhat if financial guidance could start with a conversation?\n\nThat idea became **FinSaathi**, a voice-first AI financial assistant.\n\nThe first goal was simple: get a real-time voice assistant working end-to-end and deploy it.\n\nThe current architecture is:\n\n**Next.js Frontend → LiveKit → Python AI Agent → Voice/AI Services**\n\nThe frontend is deployed on Vercel, while the LiveKit agent is deployed on Railway.\n\nUsers can open the application, start a conversation, and interact with the FinSaathi agent through voice.\n\nGetting the agent to work locally was relatively straightforward.\n\nGetting the same system to actually run in production was a different problem.\n\nThe Railway deployment initially failed with:\n\npython: can't open file '//src/agent.py':\n\n[Errno 2] No such file or directory\n\nThe problem turned out to be related to how the application path and startup command were being handled inside the Docker deployment.\n\nAfter fixing the container and Railway startup configuration, the deployment moved further — and exposed another issue.\n\nBecause the container runs the application as a non-root user, UV initially could not create its cache directory:\n\nPermission denied: '/app/.cache/uv'\n\nFixing the permissions allowed the actual **LiveKit AgentServer** to start successfully.\n\nThe production logs then showed the agent listening for connections and registering its worker with LiveKit.\n\nThat was the first real milestone: the backend was no longer just **\"working on my machine\"** — it was actually running in production.\n\nAfter the backend was live, I tested the frontend against the production LiveKit setup.\n\nThe voice interaction worked end-to-end.\n\nThe user can speak to FinSaathi, the session connects through LiveKit, and the deployed agent processes the conversation and responds through the voice pipeline.\n\nThis was the main goal of the first phase.\n\nFinSaathi also has a SQLite-based memory and call analytics layer.\n\nThe local application works with this storage layer, but deployment exposed a file-permission issue when the application attempted to write to the SQLite database during session completion.\n\nSo this part is **not being treated as completely solved yet**.\n\nThe next step is to move this production storage layer to a more appropriate persistent database/storage setup instead of relying on a writable SQLite file inside the application container.\n\nThe current interface is intentionally focused on the core voice experience.\n\nThe next phase will be about turning the working prototype into a more complete product.\n\nPlanned improvements include:\n\nThe escalation and analytics pieces are being designed around the idea that an AI assistant should know when a conversation needs human support rather than trying to handle every situation itself.\n\nThe core voice system is now deployed.\n\nCurrently working:\n\nStill being improved:\n\n[https://finsaathi-alpha.vercel.app](https://finsaathi-alpha.vercel.app)\n\n[https://github.com/true-brace05/murf-livekit-starter](https://github.com/true-brace05/murf-livekit-starter)\n\nThis is only the first phase of FinSaathi, but getting the complete voice pipeline from a local prototype to a deployed system was a valuable engineering milestone.\n\nThe next phase is about building the product around that core.", "url": "https://wpnews.pro/news/building-finsaathi-a-voice-first-ai-financial-assistant-with-livekit-and-murf", "canonical_source": "https://dev.to/truebrace05/building-finsaathi-a-voice-first-ai-financial-assistant-with-livekit-and-murf-4pfe", "published_at": "2026-08-15 18:29:43+00:00", "updated_at": "2026-08-15 18:41:29.936353+00:00", "lang": "en", "topics": ["artificial-intelligence", "ai-products", "developer-tools"], "entities": ["FinSaathi", "LiveKit", "Murf", "Next.js", "Python", "Vercel", "Railway", "SQLite"], "alternates": {"html": "https://wpnews.pro/news/building-finsaathi-a-voice-first-ai-financial-assistant-with-livekit-and-murf", "markdown": "https://wpnews.pro/news/building-finsaathi-a-voice-first-ai-financial-assistant-with-livekit-and-murf.md", "text": "https://wpnews.pro/news/building-finsaathi-a-voice-first-ai-financial-assistant-with-livekit-and-murf.txt", "jsonld": "https://wpnews.pro/news/building-finsaathi-a-voice-first-ai-financial-assistant-with-livekit-and-murf.jsonld"}}