{"slug": "building-anisha-my-10-day-journey-to-a-voice-agent-for-learning-literacy", "title": "Building Anisha: My 10-Day Journey to a Voice Agent for Learning & Literacy", "summary": "A developer built Anisha, a voice agent for learning and literacy, in 10 days using Python, LiveKit, Murf Falcon, and an LLM. The agent supports memory, learning tools, outbound calls, human escalation, call analytics, and specialist handoff, including a math specialist. The project is open source on GitHub.", "body_md": "Over the last 10 days, I built Anisha, a voice agent for Learning & Literacy that can talk with users, remember them, provide learning exercises, make outbound calls, escalate to humans, track outcomes, and hand conversations to specialist agents.\n\n👋 Meet Anisha\n\nAnisha is built using:\n\nPython\n\nLiveKit for real-time voice\n\nMurf Falcon for text-to-speech\n\nLLM for reasoning\n\nCustom tools and memory\n\nHuman escalation\n\nCall analytics\n\nSpecialist handoff\n\nThe core flow is:\n\nUser → STT → LLM → Tools / Memory / Specialist → Murf Falcon → User\n\nShe can also handle Hindi and natural Hinglish, making the experience more suitable for Indian learners.\n\n🧠 What Did I Build?\n\nInstead of trying to build everything at once, I added capabilities step by step.\n\nMemory — Anisha can remember relevant information about returning users.\n\nLearning Tools — She can provide exercises and track successful completion.\n\nOutbound Calls — I connected the agent to an outbound calling workflow.\n\nHuman Escalation — Conversations that need human help can be escalated and tracked.\n\nCall Analytics — I added outcome tracking to understand whether conversations led to successful learning interactions.\n\nMath Specialist — Anisha can hand mathematics-related conversations to a dedicated specialist agent.\n\nThis turned a basic voice assistant into a small multi-capability voice AI system.\n\n😅 The Bug That Taught Me the Most\n\nThe specialist handoff looked simple:\n\nAnisha → Math Specialist\n\nBut there was a problem.\n\nThe Math Specialist was being triggered correctly, yet its introduction was being spoken using Anisha's voice.\n\nThe issue wasn't the text. It was the interaction between the active agent, session, and TTS configuration.\n\nI changed the handoff flow so Anisha doesn't speak the specialist's introduction. The specialist takes over and uses its own configured Murf voice.\n\nThat taught me:\n\nIn real-time voice AI, changing the agent also means managing the audio pipeline and agent state correctly.\n\n🔧 What I Learned\n\nThe biggest lesson from this challenge was that voice AI is much more than connecting an LLM to a microphone.\n\nMemory makes it personal.\n\nTools make it useful.\n\nGuardrails make it reliable.\n\nHuman escalation makes it practical.\n\nAnalytics make it measurable.\n\nSpecialists make it scalable.\n\nGood TTS makes it feel human.\n\nAnd debugging?\n\nThat's a whole feature by itself. 😄\n\n🛠️ Want to Build One?\n\nStart small:\n\nMicrophone\n\n↓\n\nSTT\n\n↓\n\nLLM\n\n↓\n\nTTS\n\n↓\n\nSpeaker\n\nThen add memory, tools, analytics, telephony, escalation, and specialist agents one at a time.\n\nMy project is open source:\n\nGitHub:\n\n[https://github.com/aashishkumawat977-debug/murf-livekit-starter](https://github.com/aashishkumawat977-debug/murf-livekit-starter)\n\nGetting Started\n\nClone the repository:\n\ngit clone [https://github.com/aashishkumawat977-debug/murf-livekit-starter.git](https://github.com/aashishkumawat977-debug/murf-livekit-starter.git)\n\ncd murf-livekit-starter\n\nConfigure your API keys in .env and never commit real credentials or private data to GitHub.\n\nOnce the backend and frontend are running, open the application in your browser and connect to Anisha.\n\nTry:\n\n\"I want to practice maths.\"\n\nThis lets you test the voice interaction and Math Specialist handoff.\n\n📸 Build Evidence\n\nI also shared screenshots and demos of Anisha's voice interface, learning exercises, escalation dashboard, call analytics, and Math Specialist handoff during the challenge.\n\nYou can also see the project demos and build updates on my LinkedIn:\n\n[https://www.linkedin.com/in/ashish-kumawat-b68239422/](https://www.linkedin.com/in/ashish-kumawat-b68239422/)\n\nThese show how the project evolved from a basic voice interaction into a complete voice AI workflow.\n\n🚀 What's Next?\n\nAnisha is only the beginning.\n\nI'd like to add:\n\nMore specialist agents\n\nBetter learning progress tracking\n\nRicher analytics\n\nMore personalized learning experiences\n\nFinal Thought\n\n10 days ago, I wanted to learn how voice agents work.\n\nToday, I have an agent that can talk, remember, learn, call, escalate, analyze, and hand off conversations.\n\nIt wasn't built perfectly.\n\nI built it by experimenting, breaking things, debugging, and trying again.\n\n10 days. One voice agent. A lot of debugging. A lot of learning. 🚀\n\nHuge thanks to Murf AI for the 10 Days of AI Voice Agents — VoiceForBharat Edition challenge and for giving me the opportunity to build with Murf Falcon, the fastest TTS API, LiveKit, and Python.", "url": "https://wpnews.pro/news/building-anisha-my-10-day-journey-to-a-voice-agent-for-learning-literacy", "canonical_source": "https://dev.to/ashishkumawat977/building-anisha-my-10-day-journey-to-a-voice-agent-for-learning-literacy-p8p", "published_at": "2026-08-15 09:41:08+00:00", "updated_at": "2026-08-15 10:12:02.529147+00:00", "lang": "en", "topics": ["artificial-intelligence", "large-language-models", "ai-agents", "ai-products", "developer-tools"], "entities": ["Anisha", "LiveKit", "Murf Falcon", "Python", "GitHub", "Aashish Kumawat"], "alternates": {"html": "https://wpnews.pro/news/building-anisha-my-10-day-journey-to-a-voice-agent-for-learning-literacy", "markdown": "https://wpnews.pro/news/building-anisha-my-10-day-journey-to-a-voice-agent-for-learning-literacy.md", "text": "https://wpnews.pro/news/building-anisha-my-10-day-journey-to-a-voice-agent-for-learning-literacy.txt", "jsonld": "https://wpnews.pro/news/building-anisha-my-10-day-journey-to-a-voice-agent-for-learning-literacy.jsonld"}}