Building NyaAI : My 10-Day Voice Agent Journey with Murf AI A developer built NyaAI, a voice agent that explains the Indian Constitution and legal rights in plain language, as part of Murf AI's 10-day voice agent challenge. The agent uses Murf Falcon for text-to-speech, Deepgram for speech-to-text, and LiveKit for audio transport, with features like memory, outbound calling, and human escalation. The project aims to improve legal awareness in India by making legal information accessible through conversation. Introduction A few weeks ago, this started as just a 10-day challenge by Murf AI. Today, it's a project I'm proud enough of to put on my resume. This is Day 10 — the final day of the 10 Days of Voice Agents — VoiceForBharat Edition challenge — and it feels like a good moment to step back and share what I learned, what I built, and how voice agents actually come together piece by piece. If you're curious about voice AI, or thinking about building your own agent, this post is for you. The Problem and the Users Legal awareness in India is low, not because people don't care, but because the law is written in language most people never learn to read comfortably. Constitutional rights, duties, and basic legal procedures stay locked away in dense text that rarely reaches the people who need it most. That's the gap NyaAI tries to close. What NyaAI Does NyaAI is a free legal advisor and constitution teacher — a voice agent that explains articles, rights, and the content of the Indian Constitution accurately and in plain language. It's built for anyone who wants to understand their rights and duties as a citizen, without needing a law degree to get there. Instead of reading through legal documents, users can just talk to it and get clear, spoken answers. Voice matters here because it removes a real barrier: not everyone reads comfortably in English or in formal legal Hindi, but almost everyone can have a conversation. A voice agent meets people where they already are. How the System Works The challenge structured the build as a series of daily additions, each one layering a new capability onto the agent. With 300+ participants building alongside me, here's how NyaAI came together, day by day: Day 1 — Did a dry run on the existing starter code to understand the base setup. Day 2 — Gave the agent a persona and a voice. Day 3 — Personalized the frontend UI so the agent's state is visible during a conversation. Day 4 — Added a memory source and database so the agent remembers returning users. Day 5 — Added tools so the agent could fetch information and act on it, not just talk. Day 6 — Added outbound calling support using SIP, so the agent can make real phone calls. Day 7 — Built a human-escalation path so the agent can ask a real person for help when needed. Day 8 — Added call analytics to keep records of every call, successful or not. Day 9 — Built a specialist sub-agent for a specific task — FIR First Information Report filing assistance. Day 10 — Writing this post, to share the journey. The Most Important Features A few features stand out as the core of what makes NyaAI useful: A clear persona and voice — powered by Murf Falcon, giving the agent a consistent, natural Indian voice. Memory — so returning users don't have to repeat context every time they call. Tools — that let the agent look up and explain legal information accurately instead of guessing. Outbound calling — so the agent isn't limited to a chat window; it can reach people over a phone call. Human escalation — because a voice agent should know its limits and hand off to a real person when the situation calls for it. Call analytics dashboard — to track outcomes and understand how the agent is actually performing. A specialist sub-agent for FIR filing — a good example of handing off a conversation to an agent built for one specific job, rather than trying to make one agent do everything. The Tech Stack Murf AI — TTS provider Murf Falcon, the fastest TTS in the industry Deepgram — STT provider for the whole project LiveKit — handles real-time audio transport; essentially the audio engine of the project SQLite — stores call data and memory carefully at every step Python — the backbone of the backend Next.js — powers the frontend; the latest version turned out to be genuinely enjoyable to work with Challenges and How I Overcame Them Not everything worked on the first try — and that's the more useful part of this story. The toughest part was configuring outbound calling over SIP. Getting the call flow to actually connect and behave correctly took about two hours of trial and error, digging through SIP configuration details that weren't obvious from the docs. I worked through it step by step, testing each piece of the config in isolation until I could isolate what was actually going wrong. It was frustrating in the moment, but it's also the part I understand best now. How You Can Build Your Own Voice Agent If this made you want to try building something similar, here's the shape of it: The main components: Speech-to-Text STT — converts what the caller says into text I used Deepgram LLM — understands the text and decides what to say or do next Text-to-Speech TTS — converts the agent's response back into natural-sounding speech Murf Falcon Real-time transport — moves audio between the caller and the agent with low latency LiveKit Getting started: Set up a LiveKit project and get your agent talking with a basic STT → LLM → TTS pipeline. Add a persona and voice using Murf Falcon so the agent sounds consistent and natural. Connect a database SQLite works well for a project this size to store memory and call records. Add tools the agent can call to fetch or compute real information, instead of relying only on the LLM's own knowledge. Layer on outbound calling SIP , human escalation, and analytics once the core conversation loop is solid. A note on API keys: never hardcode API keys or commit them to your repository. Keep them in environment variables a .env file that's excluded via .gitignore , and load them at runtime. To test it: run your project locally, connect through the frontend or a test SIP number, and have a real conversation with your agent to see how it responds. Try It / See the Code Add your public repository link here — remember not to include any API keys, phone numbers, or caller data in the repo. What I'd Improve Next Looking back, I'd like to make the SIP setup easier to debug for the next person, and spend more time refining how naturally the agent switches between languages in code-mixed conversations. Both of these are things I plan to keep working on beyond the challenge. Closing Thoughts Ten days ago, I didn't expect to end up with something worth putting on my resume. But building NyaAI piece by piece — voice, memory, tools, calling, escalation, and analytics — taught me how much a voice agent can genuinely help when it's built with the right users in mind. If you're on the fence about trying a challenge like this, just start with Day 1. The rest builds from there. Built during 10 Days of Voice Agents — VoiceForBharat Edition, using Murf Falcon, the fastest TTS API in the industry.