<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Md Fahad </title>
    <description>The latest articles on DEV Community by Md Fahad  (@fahad123).</description>
    <link>https://dev.to/fahad123</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F2601879%2F2761ca75-31d3-4ea1-a07d-425eb91ff8bc.jpg</url>
      <title>DEV Community: Md Fahad </title>
      <link>https://dev.to/fahad123</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/fahad123"/>
    <language>en</language>
    <item>
      <title>Building BharatGuru AI: My Journey Creating an Intelligent Multilingual Voice Tutor with Murf Falcon and LiveKit</title>
      <dc:creator>Md Fahad </dc:creator>
      <pubDate>Sat, 15 Aug 2026 07:40:10 +0000</pubDate>
      <link>https://dev.to/fahad123/building-bharatguru-ai-my-journey-creating-an-intelligent-multilingual-voice-tutor-with-murf-543d</link>
      <guid>https://dev.to/fahad123/building-bharatguru-ai-my-journey-creating-an-intelligent-multilingual-voice-tutor-with-murf-543d</guid>
      <description>&lt;h1&gt;
  
  
  Building BharatGuru AI: My Journey Creating an Intelligent Multilingual Voice Tutor with Murf Falcon and LiveKit
&lt;/h1&gt;

&lt;p&gt;For the past ten days, I participated in the &lt;strong&gt;10 Days of Voice Agents – VoiceForBharat Edition&lt;/strong&gt; challenge. Instead of building just another chatbot, I wanted to create something that could genuinely help learners through natural conversations.&lt;/p&gt;

&lt;p&gt;The result was &lt;strong&gt;BharatGuru AI&lt;/strong&gt;—a multilingual voice tutor that remembers learners, adapts to conversations, provides practice questions, escalates difficult situations to humans, tracks analytics, and even switches into a Literature Specialist mode when needed.&lt;/p&gt;

&lt;p&gt;This article shares what I built, how the system works, the challenges I faced, and how anyone can build a similar voice agent.&lt;/p&gt;




&lt;h1&gt;
  
  
  Why BharatGuru AI?
&lt;/h1&gt;

&lt;p&gt;Millions of students in India are more comfortable speaking than typing.&lt;/p&gt;

&lt;p&gt;Many learners hesitate to ask questions in English or struggle with complicated educational websites.&lt;/p&gt;

&lt;p&gt;I wanted to build an AI tutor that feels like talking to a friendly mentor instead of using another search engine.&lt;/p&gt;

&lt;p&gt;The goals were simple:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Help students learn through conversation.&lt;/li&gt;
&lt;li&gt;Support English, Hindi, and code-mixed speech.&lt;/li&gt;
&lt;li&gt;Personalize future conversations with memory.&lt;/li&gt;
&lt;li&gt;Make learning accessible through voice.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Voice makes learning much more natural because users don't need to type long questions or navigate complex interfaces.&lt;/p&gt;




&lt;h1&gt;
  
  
  Tech Stack
&lt;/h1&gt;

&lt;p&gt;My project combines several AI services into one real-time voice pipeline.&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Component&lt;/th&gt;
&lt;th&gt;Technology&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Real-time Transport&lt;/td&gt;
&lt;td&gt;LiveKit&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Speech-to-Text&lt;/td&gt;
&lt;td&gt;Deepgram Nova-3&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Language Model&lt;/td&gt;
&lt;td&gt;Google Gemini&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Text-to-Speech&lt;/td&gt;
&lt;td&gt;Murf Falcon&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Voice Activity Detection&lt;/td&gt;
&lt;td&gt;Silero&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Turn Detection&lt;/td&gt;
&lt;td&gt;LiveKit Multilingual Model&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Memory&lt;/td&gt;
&lt;td&gt;SQLite&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Backend&lt;/td&gt;
&lt;td&gt;Python&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;




&lt;h1&gt;
  
  
  System Architecture
&lt;/h1&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;User
   │
   ▼
Microphone
   │
   ▼
Deepgram STT
   │
   ▼
Gemini LLM
   │
   ├──────────────► Memory
   │
   ├──────────────► Learning Tools
   │
   ├──────────────► Analytics
   │
   ├──────────────► Human Escalation
   │
   └──────────────► Specialist Mode
   │
   ▼
Murf Falcon TTS
   │
   ▼
User
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h1&gt;
  
  
  Feature 1 — Natural Indian Voice using Murf Falcon
&lt;/h1&gt;

&lt;p&gt;One of my favorite parts of the project was integrating &lt;strong&gt;Murf Falcon&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Instead of robotic responses, BharatGuru AI speaks naturally and conversationally.&lt;/p&gt;

&lt;p&gt;The response latency is low enough that conversations feel smooth instead of delayed.&lt;/p&gt;

&lt;p&gt;Using Murf Falcon was surprisingly simple inside LiveKit.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="n"&gt;tts&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;murf&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nc"&gt;TTS&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
    &lt;span class="n"&gt;voice&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;Samar&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="n"&gt;style&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;Conversation&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="n"&gt;text_pacing&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="bp"&gt;True&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The conversational style makes a huge difference in user experience.&lt;/p&gt;




&lt;h1&gt;
  
  
  Feature 2 — Multilingual Conversations
&lt;/h1&gt;

&lt;p&gt;India is multilingual.&lt;/p&gt;

&lt;p&gt;Instead of forcing users to speak one language, BharatGuru AI automatically mirrors the user's language.&lt;/p&gt;

&lt;p&gt;Examples include:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;English&lt;/li&gt;
&lt;li&gt;Hindi&lt;/li&gt;
&lt;li&gt;Hindi-English mixed conversations&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Users can naturally switch between languages without changing settings.&lt;/p&gt;




&lt;h1&gt;
  
  
  Feature 3 — Persistent Memory
&lt;/h1&gt;

&lt;p&gt;Returning users shouldn't have to introduce themselves every time.&lt;/p&gt;

&lt;p&gt;I built a memory system that stores information only after explicit user permission.&lt;/p&gt;

&lt;p&gt;It remembers things like:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;learner's name&lt;/li&gt;
&lt;li&gt;preferred language&lt;/li&gt;
&lt;li&gt;learning level&lt;/li&gt;
&lt;li&gt;completed topics&lt;/li&gt;
&lt;li&gt;common mistakes&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The assistant can later personalize learning automatically.&lt;/p&gt;

&lt;p&gt;Example:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;User:
Give me another programming question.

Assistant:
Welcome back! Here's another beginner programming question.
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Privacy was important, so memory is never stored without consent.&lt;/p&gt;




&lt;h1&gt;
  
  
  Feature 4 — Real Learning Questions
&lt;/h1&gt;

&lt;p&gt;Instead of generating random quizzes, BharatGuru AI fetches real questions from the Open Trivia Database.&lt;/p&gt;

&lt;p&gt;The tool selects questions based on:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;topic&lt;/li&gt;
&lt;li&gt;difficulty level&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Example tool call:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="n"&gt;result&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nf"&gt;get_learning_question&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
    &lt;span class="n"&gt;topic&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;computers&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="n"&gt;level&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;beginner&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;
&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;If the API is unavailable, the assistant responds naturally instead of exposing technical errors.&lt;/p&gt;




&lt;h1&gt;
  
  
  Feature 5 — Human Escalation
&lt;/h1&gt;

&lt;p&gt;Sometimes AI isn't enough.&lt;/p&gt;

&lt;p&gt;If a learner becomes frustrated or explicitly asks for a human teacher, BharatGuru AI creates an escalation request.&lt;/p&gt;

&lt;p&gt;Before sharing any information, the assistant asks for permission.&lt;/p&gt;

&lt;p&gt;Only after receiving consent does it create an escalation record.&lt;/p&gt;

&lt;p&gt;This was one of the most useful safety features I implemented.&lt;/p&gt;




&lt;h1&gt;
  
  
  Feature 6 — Call Analytics
&lt;/h1&gt;

&lt;p&gt;I wanted to know whether conversations were actually useful.&lt;/p&gt;

&lt;p&gt;So every conversation records:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;call duration&lt;/li&gt;
&lt;li&gt;success&lt;/li&gt;
&lt;li&gt;failure reason&lt;/li&gt;
&lt;li&gt;tool failures&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This allows future improvements based on real usage instead of assumptions.&lt;/p&gt;




&lt;h1&gt;
  
  
  Feature 7 — Literature Specialist Mode
&lt;/h1&gt;

&lt;p&gt;One feature I was especially excited about was adding a Literature Specialist.&lt;/p&gt;

&lt;p&gt;Originally, I planned to switch between two different LiveKit agents.&lt;/p&gt;

&lt;p&gt;Later I discovered that LiveKit 1.4.5 doesn't support true runtime agent handoffs.&lt;/p&gt;

&lt;p&gt;Instead of giving up, I redesigned the architecture.&lt;/p&gt;

&lt;p&gt;Rather than switching agents, BharatGuru AI changes its internal mode.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="n"&gt;current_specialist&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;main&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;When a literature-related question appears:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="n"&gt;current_specialist&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;literature&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The assistant announces:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;"I'm transferring you to our Literature Specialist."&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Internally, it's still the same agent—but now it answers only literature questions.&lt;/p&gt;

&lt;p&gt;If the learner later asks about coding or careers:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;"I'm returning you to BharatGuru AI."&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;From the learner's perspective, it feels like talking to two different experts even though only one agent is running.&lt;/p&gt;

&lt;p&gt;Sometimes good engineering means adapting to platform limitations instead of fighting them.&lt;/p&gt;




&lt;h1&gt;
  
  
  Biggest Challenges
&lt;/h1&gt;

&lt;h2&gt;
  
  
  Runtime Agent Switching
&lt;/h2&gt;

&lt;p&gt;This was easily the hardest problem.&lt;/p&gt;

&lt;p&gt;I initially tried using:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="k"&gt;await&lt;/span&gt; &lt;span class="n"&gt;session&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;set_agent&lt;/span&gt;&lt;span class="p"&gt;(...)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Unfortunately, LiveKit 1.4.5 doesn't support runtime handoffs the way I expected.&lt;/p&gt;

&lt;p&gt;After several debugging sessions, I redesigned the feature into a specialist mode using internal state.&lt;/p&gt;

&lt;p&gt;The final solution was actually simpler and more reliable.&lt;/p&gt;




&lt;h2&gt;
  
  
  Managing Long Prompts
&lt;/h2&gt;

&lt;p&gt;As the project grew, the system prompt became very large.&lt;/p&gt;

&lt;p&gt;It included:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;guardrails&lt;/li&gt;
&lt;li&gt;memory rules&lt;/li&gt;
&lt;li&gt;language behavior&lt;/li&gt;
&lt;li&gt;escalation&lt;/li&gt;
&lt;li&gt;specialist instructions&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Keeping everything organized required separating responsibilities into dedicated modules.&lt;/p&gt;




&lt;h2&gt;
  
  
  Voice Latency
&lt;/h2&gt;

&lt;p&gt;Real-time conversations need quick responses.&lt;/p&gt;

&lt;p&gt;Balancing response quality with low latency required adjusting:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Gemini temperature&lt;/li&gt;
&lt;li&gt;token limits&lt;/li&gt;
&lt;li&gt;Murf pacing&lt;/li&gt;
&lt;li&gt;Deepgram settings&lt;/li&gt;
&lt;/ul&gt;




&lt;h1&gt;
  
  
  Project Structure
&lt;/h1&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;project/
│
├── agent.py
├── memory.py
├── analytics.py
├── escalation.py
├── learning_tools.py
├── handoff.py
├── literature_agent.py
└── requirements.txt
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Splitting the project into modules made debugging much easier.&lt;/p&gt;




&lt;h1&gt;
  
  
  How to Run the Project
&lt;/h1&gt;

&lt;p&gt;Clone the repository.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;git clone https://github.com/Fahad035/murf-livekit-starter
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Install dependencies.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;pip &lt;span class="nb"&gt;install&lt;/span&gt; &lt;span class="nt"&gt;-r&lt;/span&gt; requirements.txt
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Create a &lt;code&gt;.env.local&lt;/code&gt; file.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight properties"&gt;&lt;code&gt;&lt;span class="py"&gt;LIVEKIT_URL&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;
&lt;span class="py"&gt;LIVEKIT_API_KEY&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;
&lt;span class="py"&gt;LIVEKIT_API_SECRET&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;

&lt;span class="py"&gt;GOOGLE_API_KEY&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;

&lt;span class="py"&gt;DEEPGRAM_API_KEY&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;

&lt;span class="py"&gt;MURF_API_KEY&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Never commit API keys to GitHub.&lt;/p&gt;

&lt;p&gt;Start the agent.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;python agent.py dev
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Open the LiveKit frontend and begin talking to BharatGuru AI.&lt;/p&gt;




&lt;h1&gt;
  
  
  What I Learned
&lt;/h1&gt;

&lt;p&gt;Before this challenge, I thought voice AI was mostly about speech recognition.&lt;/p&gt;

&lt;p&gt;Now I understand that a great voice assistant is really a combination of many systems working together:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;speech recognition&lt;/li&gt;
&lt;li&gt;language understanding&lt;/li&gt;
&lt;li&gt;memory&lt;/li&gt;
&lt;li&gt;tools&lt;/li&gt;
&lt;li&gt;safety guardrails&lt;/li&gt;
&lt;li&gt;analytics&lt;/li&gt;
&lt;li&gt;user experience&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Each component matters.&lt;/p&gt;




&lt;h1&gt;
  
  
  Future Improvements
&lt;/h1&gt;

&lt;p&gt;There are many ideas I'd like to explore next.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Better emotional understanding&lt;/li&gt;
&lt;li&gt;More specialist domains&lt;/li&gt;
&lt;li&gt;Richer dashboards&lt;/li&gt;
&lt;li&gt;Retrieval-Augmented Generation (RAG)&lt;/li&gt;
&lt;li&gt;Regional language expansion&lt;/li&gt;
&lt;li&gt;Parent and teacher portals&lt;/li&gt;
&lt;/ul&gt;




&lt;h1&gt;
  
  
  Repository
&lt;/h1&gt;

&lt;p&gt;&lt;strong&gt;GitHub Repository&lt;/strong&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  👉 &lt;a href="https://github.com/Fahad035/murf-livekit-starter" rel="noopener noreferrer"&gt;https://github.com/Fahad035/murf-livekit-starter&lt;/a&gt;
&lt;/h2&gt;

&lt;h1&gt;
  
  
  Final Thoughts
&lt;/h1&gt;

&lt;p&gt;Building BharatGuru AI over these ten days taught me much more than how to connect APIs.&lt;/p&gt;

&lt;p&gt;It taught me how to design conversations, think about user trust, handle failures gracefully, and build systems that feel genuinely helpful.&lt;/p&gt;

&lt;p&gt;Voice AI is becoming more accessible every day, and tools like &lt;strong&gt;LiveKit&lt;/strong&gt;, &lt;strong&gt;Deepgram&lt;/strong&gt;, &lt;strong&gt;Google Gemini&lt;/strong&gt;, and especially &lt;strong&gt;Murf Falcon&lt;/strong&gt; make it possible to create production-quality conversational experiences much faster than I imagined.&lt;/p&gt;

&lt;p&gt;A huge thank you to &lt;strong&gt;Murf AI&lt;/strong&gt; for organizing the &lt;strong&gt;10 Days of Voice Agents – VoiceForBharat Edition challenge.&lt;/strong&gt; It was an enjoyable and practical way to explore what modern voice AI can do.&lt;/p&gt;

&lt;p&gt;If you're considering building a voice agent, my advice is simple:&lt;/p&gt;

&lt;p&gt;Start small, keep conversations natural, and iterate based on real user interactions.&lt;/p&gt;

&lt;p&gt;Thank you for reading!&lt;/p&gt;

&lt;p&gt;Happy building! 🚀&lt;/p&gt;

&lt;h2&gt;
  
  
  Useful Links
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;GitHub Repository: &lt;a href="https://github.com/Fahad035/murf-livekit-starter" rel="noopener noreferrer"&gt;https://github.com/Fahad035/murf-livekit-starter&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;LiveKit: &lt;a href="https://livekit.io/" rel="noopener noreferrer"&gt;https://livekit.io/&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Murf AI: &lt;a href="https://murf.ai/" rel="noopener noreferrer"&gt;https://murf.ai/&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Deepgram: &lt;a href="https://deepgram.com/" rel="noopener noreferrer"&gt;https://deepgram.com/&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Google Gemini: &lt;a href="https://gemini.google.com" rel="noopener noreferrer"&gt;https://gemini.google.com&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>ai</category>
      <category>livekit</category>
      <category>murfai</category>
      <category>voiceai</category>
    </item>
    <item>
      <title># Battle Tanks Arena: A Competitive Tank Combat Game</title>
      <dc:creator>Md Fahad </dc:creator>
      <pubDate>Sun, 25 May 2025 07:45:12 +0000</pubDate>
      <link>https://dev.to/fahad123/-battle-tanks-arena-a-competitive-tank-combat-game-1000</link>
      <guid>https://dev.to/fahad123/-battle-tanks-arena-a-competitive-tank-combat-game-1000</guid>
      <description>&lt;h2&gt;
  
  
  Introduction
&lt;/h2&gt;

&lt;p&gt;Battle Tanks Arena is a two-player tank combat game built with Python and Pygame. Players control different types of tanks in a destructible environment, using various weapons to defeat their opponent.&lt;/p&gt;

&lt;h2&gt;
  
  
  Game Features
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Multiple Tank Types&lt;/strong&gt;: Choose between standard, heavy, and scout tanks, each with unique stats&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Diverse Weapons&lt;/strong&gt;: Use standard shots, missiles, lasers, and mines&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Destructible Environment&lt;/strong&gt;: Strategic cover that changes as the battle progresses&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Power-ups&lt;/strong&gt;: Collect health and weapon upgrades during gameplay&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  How to Play
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Player 1&lt;/strong&gt;: WASD to move, SPACE to shoot, 1-4 to switch weapons&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Player 2&lt;/strong&gt;: Arrow keys to move, ENTER to shoot, Numpad 1-4 to switch weapons&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Development Process
&lt;/h2&gt;

&lt;p&gt;I created this game using Python and the Pygame library. The biggest challenges were implementing the collision detection system and creating the destructible environment mechanics.&lt;/p&gt;

&lt;h2&gt;
  
  
  Try It Yourself
&lt;/h2&gt;

&lt;p&gt;The game is available on my GitHub repository: &lt;a href="https://github.com/Fahad035/Arcade-games/blob/main/battle_tanks_arena.py" rel="noopener noreferrer"&gt;https://github.com/Fahad035/Arcade-games/blob/main/battle_tanks_arena.py&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fpkc9c666l7pgxp1h8pjs.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fpkc9c666l7pgxp1h8pjs.jpg" alt="Image desc&lt;br&gt;
![ ](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/bnuvp93tdnhla6tultr0.png)ription" width="299" height="168"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
    </item>
  </channel>
</rss>
