<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[LearnBuddy Development Journal]]></title><description><![CDATA[LearnBuddy Development Journal]]></description><link>https://learnbuddyjournal.hashnode.dev</link><image><url>https://cdn.hashnode.com/res/hashnode/image/upload/v1593680282896/kNC7E8IR4.png</url><title>LearnBuddy Development Journal</title><link>https://learnbuddyjournal.hashnode.dev</link></image><generator>RSS for Node</generator><lastBuildDate>Wed, 16 Sep 2026 17:13:35 GMT</lastBuildDate><atom:link href="https://learnbuddyjournal.hashnode.dev/rss.xml" rel="self" type="application/rss+xml"/><language><![CDATA[en]]></language><ttl>60</ttl><item><title><![CDATA[Building LearnBuddy: A Step-by-Step Guide to Creating an AI Voice Agent for Students]]></title><description><![CDATA[Why I Built LearnBuddy
Artificial intelligence has transformed the way we learn, but most AI learning tools still focus primarily on English. As a student, I wanted to explore how AI could make learni]]></description><link>https://learnbuddyjournal.hashnode.dev/building-learnbuddy-a-step-by-step-guide-to-creating-an-ai-voice-agent-for-students</link><guid isPermaLink="true">https://learnbuddyjournal.hashnode.dev/building-learnbuddy-a-step-by-step-guide-to-creating-an-ai-voice-agent-for-students</guid><category><![CDATA[AI]]></category><category><![CDATA[Voice AI Agents]]></category><category><![CDATA[murf-ai]]></category><category><![CDATA[livekit]]></category><category><![CDATA[generative ai]]></category><dc:creator><![CDATA[Pooja M]]></dc:creator><pubDate>Sat, 15 Aug 2026 16:20:06 GMT</pubDate><enclosure url="https://cdn.hashnode.com/uploads/covers/6a808b798d5dbcc0d1bd436b/022cd89d-3479-4315-8bbf-6333413fa137.jpg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<h2>Why I Built LearnBuddy</h2>
<p>Artificial intelligence has transformed the way we learn, but most AI learning tools still focus primarily on English. As a student, I wanted to explore how AI could make learning more accessible in Indian languages.</p>
<p>That idea led me to choose the <strong>Learning &amp; Literacy</strong> track during the <strong>10 Days of Voice Agents – VoiceForBharat Edition</strong> challenge.</p>
<p>My goal was simple: build an AI voice agent that allows college students to learn and discuss academic subjects in their own language instead of being limited to English-only interactions.</p>
<h2>Meet LearnBuddy</h2>
<p><strong>LearnBuddy</strong> is an AI-powered voice agent designed specifically for college students.</p>
<p>Instead of typing long questions into a chatbot, students can simply speak naturally and receive immediate responses through voice conversations.</p>
<p>The agent supports multilingual interactions, allowing students to communicate in Indian languages while discussing academic topics. This approach makes learning more comfortable, more accessible, and more natural.</p>
<p>Voice interactions also save time. Speaking is often faster than typing, especially when students need quick explanations while studying.</p>
<p>By combining speech recognition, large language models, and realistic text-to-speech technology, LearnBuddy creates an interactive learning experience that feels more like a conversation than a traditional search engine.</p>
<h2>The Technology Stack</h2>
<p>Building a real-time voice agent requires multiple components that work together seamlessly. LearnBuddy combines speech recognition, language understanding, speech synthesis, real-time communication, and persistent memory to create an interactive learning experience.</p>
<table>
<thead>
<tr>
<th>Component</th>
<th>Technology</th>
</tr>
</thead>
<tbody><tr>
<td>Speech-to-Text (STT)</td>
<td>Deepgram Nova-3</td>
</tr>
<tr>
<td>Large Language Model (LLM)</td>
<td>Gemini 3.5 Flash Lite</td>
</tr>
<tr>
<td>Text-to-Speech (TTS)</td>
<td>Murf Falcon</td>
</tr>
<tr>
<td>Real-Time Communication</td>
<td>LiveKit</td>
</tr>
<tr>
<td>Frontend</td>
<td>Next.js 15.5.9</td>
</tr>
<tr>
<td>Database</td>
<td>SQLite</td>
</tr>
</tbody></table>
<p>Each component plays a specific role in the voice pipeline.</p>
<ul>
<li><p><strong>Deepgram Nova-3</strong> converts spoken language into text.</p>
</li>
<li><p><strong>Gemini 3.5 Flash Lite</strong> processes the user's request and generates responses.</p>
</li>
<li><p><strong>Murf Falcon</strong> converts the generated response back into natural-sounding speech.</p>
</li>
<li><p><strong>LiveKit</strong> handles real-time audio streaming between the user and the voice agent.</p>
</li>
<li><p><strong>Next.js</strong> provides the frontend interface.</p>
</li>
<li><p><strong>SQLite</strong> stores user information and enables memory for returning users.</p>
</li>
</ul>
<h2>How the Voice Agent Works</h2>
<p>LearnBuddy follows a real-time voice pipeline.</p>
<ol>
<li><p>The student speaks to the agent.</p>
</li>
<li><p>Deepgram Nova-3 converts the spoken audio into text.</p>
</li>
<li><p>Gemini 3.5 Flash Lite analyzes the request and generates a response.</p>
</li>
<li><p>Murf Falcon converts the generated text into natural-sounding speech.</p>
</li>
<li><p>LiveKit manages the real-time communication between the user and the agent.</p>
</li>
<li><p>SQLite stores user information when memory is enabled and the user provides consent.</p>
</li>
</ol>
<p>This architecture allows students to have natural, voice-based conversations with the agent while receiving responses in multiple languages.</p>
<h2>Features I Implemented</h2>
<p><strong>Indian Voice Powered by Murf Falcon</strong></p>
<p>One of the most important goals of this project was to provide a voice experience that felt natural to Indian users. Murf Falcon made it possible to generate fast and realistic speech for the voice agent.</p>
<p><strong>Multilingual Conversations</strong></p>
<p>LearnBuddy supports multiple Indian languages, including:</p>
<ul>
<li><p>English</p>
</li>
<li><p>Hindi</p>
</li>
<li><p>Telugu</p>
</li>
<li><p>Tamil</p>
</li>
<li><p>Bengali</p>
</li>
<li><p>Odia</p>
</li>
</ul>
<p>Students can interact with the agent in the language they are most comfortable using.</p>
<p><strong>Memory for Returning Users</strong></p>
<p>I implemented memory using SQLite so the agent could remember user information across conversations.</p>
<p>To protect user privacy, I added a consent-based memory system. The agent stores information only after receiving explicit permission from the user.</p>
<p><strong>Tool Calling</strong></p>
<p>The agent can use external tools to retrieve information and perform useful tasks during a conversation.</p>
<p><strong>Outbound Calls</strong></p>
<p>I implemented outbound calling so the agent could initiate phone calls instead of waiting for users to start every interaction.</p>
<p><strong>Human Escalation</strong></p>
<p>An AI agent should not attempt to solve every problem on its own.</p>
<p>I implemented a human escalation workflow so the agent could recognize situations that required human intervention and transfer the conversation when necessary.</p>
<p><strong>Call Analytics Dashboard</strong></p>
<p>I built a dashboard to track call outcomes and monitor the performance of the voice agent.</p>
<p><strong>Specialist Agent Handoffs</strong></p>
<p>I implemented specialist-agent handoffs so the main agent could transfer conversations to another agent with more specific expertise when appropriate.</p>
<h2>Challenges I Faced</h2>
<p>Building a voice agent over ten days was an excellent learning experience, but it also introduced several technical challenges.</p>
<p><strong>Pronunciation in Indian Languages</strong></p>
<p>One of the biggest challenges was improving pronunciation in Indian languages. Some words were initially pronounced with an English accent. I experimented with different language settings and voice configurations to improve the experience.</p>
<p><strong>Speech Detection</strong></p>
<p>At times, the agent did not detect my speech correctly during the first attempt. After debugging the issue, I adjusted the voice activity detection parameters to improve speech recognition.</p>
<p><strong>Voice Configuration</strong></p>
<p>Configuring the text-to-speech engine required multiple iterations. Testing different voices and language settings helped me achieve better results.</p>
<p><strong>Deployment and Environment Configuration</strong></p>
<p>I also encountered deployment issues while configuring the project environment. Careful debugging of the project structure and environment variables helped me resolve those problems.</p>
<h2>How to Set Up and Run the Project</h2>
<p><strong>Clone the Repository</strong></p>
<pre><code class="language-plaintext">git clone https://github.com/buildWithPooja/murf-livekit-starter.git
</code></pre>
<p><strong>Install Dependencies</strong></p>
<pre><code class="language-plaintext">cd murf-livekit-starter

pnpm install

uv sync
</code></pre>
<p><strong>Configure Environment Variables</strong></p>
<p>Store all API keys in environment files.</p>
<p>Example:</p>
<pre><code class="language-plaintext">backend/.env
frontend/.env.local
</code></pre>
<p>Never expose API keys, phone numbers, or user data in a public repository.</p>
<p><strong>Run the Backend</strong></p>
<pre><code class="language-plaintext">uv run src
</code></pre>
<p><strong>Run the Frontend</strong></p>
<pre><code class="language-plaintext">pnpm dev
</code></pre>
<h2>Testing the Agent</h2>
<p>After starting the backend and frontend, open the local application in your browser and connect to the agent.</p>
<p>Test the following features:</p>
<ul>
<li><p>Multilingual conversations</p>
</li>
<li><p>Memory</p>
</li>
<li><p>Tool calling</p>
</li>
<li><p>Outbound calls</p>
</li>
<li><p>Human escalation</p>
</li>
<li><p>Specialist-agent handoffs</p>
</li>
</ul>
<h2>Screenshots and Demonstrations</h2>
<p>The screenshots in this article demonstrate the different stages of the development process, including the user interface, analytics dashboard, outbound calling, human escalation, and specialist-agent handoffs.</p>
<img src="https://cdn.hashnode.com/uploads/covers/6a808b798d5dbcc0d1bd436b/da2591d9-cb15-4cc1-b44f-5ac1c5cf72e4.png" alt="" style="display:block;margin:0 auto" />

<img src="https://cdn.hashnode.com/uploads/covers/6a808b798d5dbcc0d1bd436b/a35202af-59ec-44af-ba35-cdad3d562292.png" alt="" style="display:block;margin:0 auto" />

<img src="https://cdn.hashnode.com/uploads/covers/6a808b798d5dbcc0d1bd436b/396b5058-7cf7-42f1-ade9-a447483f5463.png" alt="" style="display:block;margin:0 auto" />

<img src="https://cdn.hashnode.com/uploads/covers/6a808b798d5dbcc0d1bd436b/6f48f19f-2f01-4a4e-b407-947fbda8e069.png" alt="" style="display:block;margin:0 auto" />

<img src="https://cdn.hashnode.com/uploads/covers/6a808b798d5dbcc0d1bd436b/9cacb9bf-e265-42fb-b84a-06bf3c289be1.png" alt="" style="display:block;margin:0 auto" />

<h2>GitHub Repository</h2>
<p><a href="https://github.com/buildWithPooja/murf-livekit-starter">https://github.com/buildWithPooja/murf-livekit-starter</a></p>
<h2>Final Thoughts</h2>
<p>The 10 Days of Voice Agents challenge provided an excellent opportunity to explore the complete lifecycle of building a real-time voice agent.</p>
<p>Over ten days, I learned how to combine speech recognition, large language models, text-to-speech systems, memory, tool calling, analytics, and human-in-the-loop workflows into a single application.</p>
<p>Voice AI is evolving rapidly, and projects like LearnBuddy demonstrate how these technologies can make learning more accessible for students.</p>
<p>I hope this tutorial helps other developers build their own multilingual voice agents and continue exploring the possibilities of Voice AI.</p>
]]></content:encoded></item></channel></rss>