<?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[Voicli Engineering Blog]]></title><description><![CDATA[Voicli Engineering Blog]]></description><link>https://voicli.hashnode.dev</link><generator>RSS for Node</generator><lastBuildDate>Thu, 29 Oct 2026 14:34:07 GMT</lastBuildDate><atom:link href="https://voicli.hashnode.dev/rss.xml" rel="self" type="application/rss+xml"/><language><![CDATA[en]]></language><ttl>60</ttl><item><title><![CDATA[How We Built Real-Time AI Voice Translation for Multilingual Video Meetings]]></title><description><![CDATA[Learn how we built Voicli, a real-time AI voice translation platform for multilingual video meetings using Django, React, LiveKit, and WebRTC.]]></description><link>https://voicli.hashnode.dev/building-real-time-ai-voice-translation</link><guid isPermaLink="true">https://voicli.hashnode.dev/building-real-time-ai-voice-translation</guid><category><![CDATA[Artificial Intelligence]]></category><category><![CDATA[Python]]></category><category><![CDATA[Django]]></category><category><![CDATA[WebRTC]]></category><category><![CDATA[Machine Learning]]></category><dc:creator><![CDATA[Ivan Smirnov]]></dc:creator><pubDate>Tue, 20 Oct 2026 05:31:03 GMT</pubDate><enclosure url="https://cdn.hashnode.com/uploads/covers/6ad6f89aa55684c998efca2b/4189e5c3-c8e9-4022-87ed-7c75ddbef495.webp" length="0" type="image/jpeg"/><content:encoded><![CDATA[<h2>Introduction: The Language Problem in Video Meetings</h2>
<p>Video meetings have made international collaboration easier than ever. A team in Germany can work with partners in Japan, a startup in Ukraine can present its product to customers in South Korea, and companies can hire talent from almost anywhere.</p>
<p>But one fundamental problem remains: people still need a common language.</p>
<p>Most video conferencing tools assume that participants can communicate comfortably in English or another shared language. In reality, this assumption often creates limitations.</p>
<p>Participants may understand a foreign language but struggle to explain complex ideas, negotiate business terms, or respond naturally during conversations.</p>
<p>Live subtitles can help people understand what is being said, but reading translated text while participating in a meeting creates an additional cognitive burden.</p>
<p>We wanted to explore a different approach.</p>
<p><strong>What if everyone in a video meeting could speak their own language and hear other participants translated into their preferred language?</strong></p>
<p>That question became the foundation of <a href="https://voicli.com">Voicli</a>, a real-time multilingual video meeting platform.</p>
<p>In this article, we'll share the architecture behind the platform, the technical challenges of combining video conferencing with AI voice translation, and some lessons from building the system.</p>
<h2>1. Why Real-Time Voice Translation Is Technically Challenging</h2>
<p>Traditional speech translation systems often follow a sequential architecture:</p>
<p><strong>Speech → Speech Recognition → Text Translation → Speech Synthesis → Translated Audio</strong></p>
<p>Each stage introduces processing time.</p>
<p>First, the system recognizes the speaker's words. Then it translates the resulting text into another language. Finally, a text-to-speech engine generates audio.</p>
<p>This architecture can produce useful translations, but latency becomes a serious challenge in interactive conversations.</p>
<p>Consider a business meeting where someone asks a simple question:</p>
<p>"Can we start the project next Monday?"</p>
<p>If the translation arrives several seconds later, the conversation becomes unnatural. Participants may interrupt each other, repeat questions, or wait for the system to finish processing.</p>
<p>The challenge is not simply translating words accurately.</p>
<p>A practical real-time translation platform needs to balance several competing requirements:</p>
<ul>
<li><p><strong>Low latency:</strong> Deliver translated audio quickly enough to support natural turn-taking.</p>
</li>
<li><p><strong>Translation quality:</strong> Preserve the original meaning, including technical and business terminology.</p>
</li>
<li><p><strong>Audio quality:</strong> Produce speech that is understandable and comfortable to listen to.</p>
</li>
<li><p><strong>Multiple languages:</strong> Support participants with different language preferences.</p>
</li>
<li><p><strong>Synchronization:</strong> Coordinate translated speech with the original conversation.</p>
</li>
<li><p><strong>Scalability:</strong> Handle multiple speakers and listeners without making the meeting experience unstable.</p>
</li>
</ul>
<p>Improving one of these factors can sometimes negatively affect another.</p>
<p>For example, waiting for a speaker to finish a complete sentence may improve translation context but increase latency.</p>
<p>Generating audio earlier can reduce waiting time, but short speech fragments may lack sufficient context.</p>
<p>These trade-offs influence the architecture of the entire system.</p>
<h2>2. The Technology Stack Behind Voicli</h2>
<p>We built Voicli as a web-based communication platform, combining conventional backend technologies with real-time media infrastructure and AI services.</p>
<p>Our main technology stack includes:</p>
<table>
<thead>
<tr>
<th>Component</th>
<th>Technology</th>
</tr>
</thead>
<tbody><tr>
<td>Backend</td>
<td>Python, Django, Django REST Framework</td>
</tr>
<tr>
<td>Real-time communication</td>
<td>Django Channels, WebSockets</td>
</tr>
<tr>
<td>Frontend</td>
<td>React, TypeScript, Vite</td>
</tr>
<tr>
<td>Media infrastructure</td>
<td>LiveKit</td>
</tr>
<tr>
<td>Database</td>
<td>PostgreSQL</td>
</tr>
<tr>
<td>Caching and messaging</td>
<td>Redis</td>
</tr>
<tr>
<td>Background tasks</td>
<td>Celery</td>
</tr>
<tr>
<td>AI processing</td>
<td>OpenAI speech and translation technologies</td>
</tr>
<tr>
<td>Infrastructure</td>
<td>AWS, Nginx</td>
</tr>
</tbody></table>
<p>Each component solves a different part of the problem.</p>
<h3>Django: Application Logic and Meeting Management</h3>
<p>Django provides the foundation for the application backend.</p>
<p>It handles the business logic surrounding user accounts, meetings, participants, permissions, invitations, and other platform operations.</p>
<p>Django REST Framework provides APIs consumed by the React frontend.</p>
<p>We use Django Channels for real-time application communication, where traditional request-response APIs are not sufficient.</p>
<p>For example, participant and meeting state changes need to reach connected clients without constant polling.</p>
<p>The combination of Django, Redis, and WebSockets makes it possible to build these workflows around a familiar Python ecosystem.</p>
<h3>React: The Real-Time User Experience</h3>
<p>The frontend is built using React and TypeScript.</p>
<p>Video conferencing interfaces are particularly challenging because many elements change simultaneously.</p>
<p>A participant may join a meeting, switch languages, mute a microphone, enable subtitles, or change audio preferences while other participants continue speaking.</p>
<p>The interface must respond to these events without distracting the user.</p>
<p>For Voicli, language selection is especially important.</p>
<p>The language used to speak does not necessarily need to match the language used to listen.</p>
<p>This distinction is central to designing a multilingual meeting experience.</p>
<h3>LiveKit: Real-Time Audio and Video</h3>
<p>Real-time media transport is a specialized engineering problem.</p>
<p>Rather than implementing our own media infrastructure from scratch, we use LiveKit for real-time audio and video communication.</p>
<p>This allows us to focus more engineering effort on the translation experience and application logic.</p>
<p>However, introducing translation into a video meeting creates additional coordination challenges.</p>
<p>The system must handle original audio, translated audio, participant preferences, and the changing state of a live conversation.</p>
<p>Unlike a conventional video meeting, transmitting the original audio stream is only one part of the experience.</p>
<h2>3. Designing Translation Around the Listener</h2>
<p>One important design decision was to treat translation as a listener-specific experience.</p>
<p>Imagine three participants in a meeting:</p>
<ul>
<li><p>Anna speaks Ukrainian.</p>
</li>
<li><p>Kenji speaks Japanese.</p>
</li>
<li><p>Marie speaks French.</p>
</li>
</ul>
<p>In a conventional meeting, the participants would probably need to agree on a common language.</p>
<p>In Voicli, the goal is different.</p>
<p>Anna should be able to continue speaking Ukrainian. Kenji should be able to listen in Japanese, while Marie listens in French.</p>
<p>The same original statement may therefore need to be translated into multiple target languages.</p>
<p>This changes how we think about meeting audio.</p>
<p><strong>Translation is not simply a feature attached to the speaker. It is a communication preference associated with each listener.</strong></p>
<p>This approach also creates interesting optimization opportunities.</p>
<p>If several participants prefer the same target language, a system can potentially reuse translation work instead of treating every listener as a completely independent translation request.</p>
<p>At the same time, participants may change their language preferences during the meeting.</p>
<p>The application must coordinate these changes while keeping the conversation active.</p>
<h2>4. Managing Original and Translated Audio</h2>
<p>Another challenge is deciding what participants should hear.</p>
<p>Simply playing translated speech on top of the original audio at full volume creates an unpleasant experience.</p>
<p>Two voices may compete for attention, especially when the speaker and translation overlap.</p>
<p>However, removing the original voice completely is not always ideal.</p>
<p>Some participants prefer to hear the original speaker because it provides emotional context, tone, and a sense of direct communication.</p>
<p>For this reason, Voicli supports different listening experiences, including original audio, translated audio alongside the original, and subtitles.</p>
<p>The important engineering lesson is that <strong>audio translation should be designed as part of the meeting experience rather than an isolated AI function</strong>.</p>
<p>Even an accurate translation can feel unusable if its timing, volume, or playback behavior interrupts the conversation.</p>
<h2>5. Latency, Turn-Taking, and Speech Boundaries</h2>
<p>Speech is not delivered in perfectly separated sentences.</p>
<p>People hesitate, interrupt themselves, change direction mid-sentence, and use short expressions that depend on previous context.</p>
<p>A translation system therefore needs to determine when it has enough information to produce a useful result.</p>
<p>Processing every tiny speech fragment independently can create fragmented translations.</p>
<p>Waiting too long can make participants feel disconnected from the conversation.</p>
<p>We have had to pay particular attention to speech boundaries, the timing of generated audio, and the transitions between speakers.</p>
<p>These problems become more complex in meetings with multiple participants.</p>
<p>For example, a translated audio segment may still be playing when another participant begins speaking.</p>
<p>Without careful coordination, listeners can hear overlapping translations or lose track of who is speaking.</p>
<p>Turn-taking is therefore not only a user interface consideration. It is also part of the real-time translation architecture.</p>
<h2>6. Why Subtitles Still Matter</h2>
<p>Voice translation is useful, but it does not eliminate the need for subtitles.</p>
<p>There are situations where users cannot listen to generated audio, prefer reading technical terminology, or simply want additional confirmation of what someone said.</p>
<p>Subtitles can also provide a practical fallback when audio translation is temporarily unavailable.</p>
<p>For these reasons, Voicli includes multilingual subtitle functionality alongside voice translation.</p>
<p>We see subtitles and voice translation as complementary capabilities.</p>
<p>The goal is not to force everyone to use a single communication mode.</p>
<p>Instead, participants should be able to select the experience that works best for their situation.</p>
<h2>7. Building a Product Is Different From Building an AI Demo</h2>
<p>It is relatively straightforward to create an impressive demonstration of AI translation using a short prerecorded audio clip.</p>
<p>A real product introduces a very different set of requirements.</p>
<p>Users need reliable authentication, meeting invitations, access control, participant management, stable connections, language preferences, and understandable error states.</p>
<p>Network connections can fail.</p>
<p>Participants can join late or reconnect.</p>
<p>Microphone permissions can change.</p>
<p>AI services can experience delays.</p>
<p>A translation session may need time to initialize before it becomes available.</p>
<p>These situations must be handled without making the entire meeting unusable.</p>
<p>One lesson from building Voicli is that <strong>the quality of the product depends as much on orchestration and recovery as on the AI model itself</strong>.</p>
<p>The surrounding engineering infrastructure determines whether powerful AI capabilities can actually be used in everyday communication.</p>
<h2>8. The Future of Multilingual Collaboration</h2>
<p>We believe multilingual collaboration will gradually move beyond conventional translated subtitles.</p>
<p>The long-term opportunity is to make language differences less disruptive during everyday conversations.</p>
<p>That does not mean AI translation is perfect.</p>
<p>Idioms, specialized terminology, accents, background noise, overlapping speech, and cultural context remain challenging.</p>
<p>Human interpreters also continue to play an important role in sensitive and high-stakes situations.</p>
<p>But <a href="https://voicli.com/en/">real-time AI translation</a> creates new possibilities for meetings that would otherwise require a shared foreign language or advance interpretation arrangements.</p>
<p>Some of the most interesting potential applications include international sales, supplier negotiations, global education, customer support, and collaboration between geographically distributed teams.</p>
<p>For smaller businesses in particular, lowering communication barriers may help make international relationships more accessible.</p>
<h2>9. What We Learned</h2>
<p>Building Voicli has reinforced several technical lessons:</p>
<p><strong>1. Latency is a product feature.</strong> Translation quality alone does not determine whether people can have a natural conversation.</p>
<p><strong>2. The listener matters as much as the speaker.</strong> Each participant may have different language and audio preferences.</p>
<p><strong>3. Real-time AI requires careful orchestration.</strong> Speech recognition, translation, synthesis, media transport, and application state must work together.</p>
<p><strong>4. The fallback experience matters.</strong> Subtitles, original audio, and clear connection states make communication more resilient.</p>
<p><strong>5. Real-world conversations are unpredictable.</strong> A useful translation system needs to handle interruptions, pauses, reconnections, and multiple speakers.</p>
<p>These lessons continue to shape our engineering decisions.</p>
<h2>Conclusion</h2>
<p>Real-time multilingual video communication is not simply a matter of connecting an AI translation API to a video call.</p>
<p>It requires coordination between speech processing, media infrastructure, backend services, and an interface designed around how people actually communicate.</p>
<p>With Voicli, we are exploring how these technologies can work together to make international conversations more accessible.</p>
<p>The product is available at <a href="https://voicli.com">voicli.com</a>, where users can explore multilingual video meetings with voice translation and subtitles.</p>
<p>We will continue sharing technical lessons from building and improving the platform.</p>
<p>If you are working on real-time AI, speech technologies, or communication infrastructure, we would love to hear about the challenges you have encountered.</p>
]]></content:encoded></item></channel></rss>