MinbarLiveTechnical Architecture · July 2026Tehnička arhitektura · juli 2026.A modular platform for
realtime speech,
Qur'an sync and content.
Modularna platforma za
govor u realnom vremenu,
Quran sync i sadržaj.
Current architecture of the main branch: live delivery, specialized Qur'an tracking, Studio processing, public content distribution and organization operations.
Trenutna arhitektura main grane: live isporuka, specijalizirano praćenje Kur'ana, Studio obrada, javna distribucija sadržaja i organizacijske operacije.
Product modules share infrastructure, but keep separate domain responsibilities.
Produktni moduli dijele infrastrukturu, ali zadržavaju odvojene domenske odgovornosti.
Realtime communication
Realtime komunikacija
Content processing
Obrada sadržaja
Public distribution
Javna distribucija
Organization operations
Organizacijske operacije
Commercial control
Komercijalna kontrola
Partner surface
Partnerska površina
Browser capture → backend orchestration → AI providers → realtime audience.
Browser capture → backend orkestracija → AI provideri → realtime publika.
Preferred realtime engine selected by language quality, latency and organization policy.
Preferirani realtime engine bira se prema kvaliteti jezika, latenciji i pravilima organizacije.
Async ingest/alignment plus stateless transcription for discovery.
Asinkroni ingest/alignment i stateless transkripcija za discovery.
Preferred batch engine selected by source language, translation bundle and processing economics, with fallback.
Preferirani batch engine bira se prema izvornom jeziku, paketu prijevoda i ekonomici obrade, uz fallback.
Realtime delivery is optimized as a socket-first, resilient pipeline.
Realtime isporuka je optimizirana kao socket-first, otporan pipeline.
Web Audio and selected input
Web Audio i odabrani ulaz
500 ms send chunks and bounded pending queue
500 ms chunkovi i ograničeni pending queue
Engine selected by pipeline policy, language and organization
Engine prema pravilima pipelinea, jeziku i organizaciji
Integrated single-language translation where available + multilingual fan-out
Integrirani prijevod na jedan jezik gdje je dostupan + višejezični fan-out
Socket events, merge logic and polling fallback
Socket događaji, merge logika i polling fallback
Why the 500 ms audio change mattered
Zašto je promjena na 500 ms bila važna
Very small chunks combined with serial acknowledgements made audio throughput RTT-bound. Larger chunks reduced overhead and prevented queue drops that delayed both STT and Qur'an tracking.
Vrlo mali chunkovi uz serijske potvrde činili su audio throughput ovisnim o RTT-u. Veći chunkovi smanjili su overhead i spriječili dropove koji su usporavali STT i Quran tracking.
Progressive text states
Progresivna stanja teksta
The client architecture supports merging transcript and translation updates. Join optimization continues toward earlier interim translation display with visually distinct provisional/final states.
Klijentska arhitektura spaja transcript i translation update. Join optimizacija nastavlja prema ranijem prikazu interim prijevoda s vizualno različitim privremenim i finalnim stanjem.
Two independent authorities solve two different tracking problems.
Dva nezavisna autoriteta rješavaju dva različita problema praćenja.
Position inside the current surah
Pozicija unutar trenutne sure
Detect a change to another surah
Detekcija prelaska na drugu suru
/v1/audio + /v1/transcribe
Manual seed remains authoritative. The older ONNX audio-embedding locator is disabled as Competition authority and remains only in legacy/sequential-related paths pending retirement.
Ručni seed ostaje autoritativan. Stariji ONNX audio-embedding locator je isključen kao Competition autoritet i ostaje samo u legacy/sequential putanjama do uklanjanja.
Speech processing is pipeline-aware, policy-routed and organization-configurable.
Obrada govora je svjesna pipelinea, policy-routed i podesiva po organizaciji.
Policy routing protects the product from placing batch engines on latency-critical paths, while allowing quality, language coverage and commercial efficiency to evolve without redesigning the product.
Policy routing štiti proizvod od postavljanja batch enginea na latency-critical putanje, a istovremeno omogućava promjenu kvalitete, jezičke pokrivenosti i ekonomike bez redizajna proizvoda.
Provider names, negotiated commercial terms and language-specific preference rules are intentionally excluded from this presentation.
Imena providera, ugovoreni komercijalni uvjeti i jezički specifična pravila preferiranja namjerno nisu prikazani u ovoj prezentaciji.
Translated text becomes a shared, language-specific audio stream.
Prevedeni tekst postaje zajednički audio stream po jeziku.
Confirmed text enters the audio path
Potvrđeni tekst ulazi u audio putanju
Sentence, size and timeout boundaries
Granice rečenice, veličine i vremena
Two configurable synthesis engines
Dva konfigurabilna synthesis enginea
Ordered chunks, encoding and continuity
Redoslijed chunkova, encoding i kontinuitet
One generated stream serves many listeners
Jedan generirani stream služi mnogim slušateljima
Configuration
Konfiguracija
Playback quality
Kvaliteta reprodukcije
Safety and economics
Sigurnost i ekonomika
Provider names, credentials and negotiated commercial terms are intentionally excluded from this presentation.
Imena providera, pristupni podaci i ugovoreni komercijalni uvjeti namjerno nisu prikazani u ovoj prezentaciji.
The public viewer is a realtime state-merging client, not a static transcript page.
Javni prikaz je realtime klijent za spajanje stanja, a ne statična stranica transkripta.
Input event families
Vrste ulaznih događaja
The client merges events by message identity, applies language-specific rendering and preserves a polling fallback.
Klijent spaja događaje prema identitetu poruke, primjenjuje jezički prikaz i zadržava polling fallback.
Recent Quran latency fix
Nedavni Quran latency fix
When a translation event carried Qur'an metadata before a transcript row existed, the old client discarded it and waited for polling. The Join client now creates/merges the Qur'an message immediately.
Kada je translation event nosio Quran metadata prije postojanja transcript reda, stari klijent ga je odbacivao i čekao polling. Join sada odmah kreira/spaja Quran poruku.
LTR / RTL
Viewer language controls direction and language UX.
Jezik gledatelja upravlja smjerom i UX-om.
Autoscroll and focus
Autoscroll i fokus
Latest content remains visible while preserving user control.
Najnoviji sadržaj ostaje vidljiv uz kontrolu korisnika.
Deployment safety
Sigurnost deploya
Standalone Next.js deployments must include refreshed static assets to avoid route chunk failures.
Standalone Next.js deploy mora uključiti osvježene static assete kako bi se izbjegli chunk problemi.
Recorded media becomes structured, editable and publishable content.
Snimljeni medij postaje strukturiran, uređiv i objavljiv sadržaj.
Upload or supported URL import
Upload ili podržani URL import
FFmpeg / media validation
Provider-routed batch STT
Batch STT kroz provider routing
Segments, speakers, subtitle translations
Segmenti, govornici i prijevodi titlova
Subtitle files, summary, article, public page
Titlovi, sažetak, članak i javna stranica
YouTube CC
Organization default plus per-job override determines whether existing captions are used.
Organizacijski default i per-job override odlučuju koriste li se postojeći titlovi.
Domain outputs
Domenski outputi
studio_jobs, studio_segments, studio_translations, studio_outputs
Publishing link
Veza s objavom
Article payload and localized outputs feed the Public Videos / Knowledge Library surface.
Article payload i lokalizirani outputi hrane Public Videos / Knowledge Library.
Public distribution combines frontend discovery with backend SEO rendering.
Javna distribucija spaja frontend discovery s backend SEO renderiranjem.
Public Videos / Knowledge Library
Community Hub / White-label
Important boundary: Studio creates and maintains content; Library and public SEO routes distribute it.
Važna granica: Studio stvara i održava sadržaj; Library i javne SEO rute ga distribuiraju.
Shared AI infrastructure, distinct product privacy and output models.
Zajednička AI infrastruktura, odvojeni modeli privatnosti i outputa.
Podcast Companion
External episode + companion session + live/archived transcript and translation + QR access.
Vanjska epizoda + companion sesija + live/arhivirani transkript i prijevod + QR.
Meetings
Private by default: transcript, summary, key points, actions, suggestions, attendees, sharing, audit and exports.
Privatno po defaultu: transkript, sažetak, ključne tačke, zadaci, sugestije, sudionici, dijeljenje, audit i export.
Personal / Guest
Self-capture and translation flows using the same core audio, STT, translation and usage infrastructure.
Self-capture i prijevod kroz istu audio, STT, translation i usage infrastrukturu.
Guest provisioning hardening
Jačanje guest provisioninga
Idempotent creation and self-healing reduce orphaned guest organization/mosque records and support repeat entry.
Idempotentno kreiranje i self-heal smanjuju orphaned guest organization/mosque zapise i podržavaju ponovni ulaz.
Why separate domains matter
Zašto su odvojene domene važne
Studio is a public content workflow. Meetings is a private organizational workflow. Podcast is an interactive external-media companion.
Studio je javni content workflow. Meetings je privatni organizacijski workflow. Podcast je interaktivni companion za vanjski medij.
Multi-tenant boundaries are enforced across organization, role and public/private surfaces.
Multi-tenant granice provode se kroz organizacije, uloge i javne/privatne površine.
Product operations connect to controlled CRM and email workflows.
Operacije proizvoda povezane su s kontroliranim CRM i email procesima.
Zoho Bigin
SendGrid + SMTP fallback
These integrations sit behind platform operations: they reduce manual follow-up without exposing CRM credentials or provider configuration to organization users.
Integracije rade iza Platform Operations sloja: smanjuju ručni follow-up bez izlaganja CRM pristupa ili konfiguracije providera organizacijskim korisnicima.
Usage-driven AI costs are converted into controlled commercial entitlements.
Varijabilni AI troškovi pretvaraju se u kontrolirane komercijalne kvote.
Usage inputs
Ulazi potrošnje
Commercial controls
Komercijalne kontrole
The former large costing rollup module was decomposed into a compatibility facade plus core, operational, billing and session responsibilities, protected by regression tests.
Raniji veliki costing rollup modul razdvojen je na kompatibilni facade te core, operational, billing i session odgovornosti, uz regresijske testove.
Operational safety is built around fallbacks, feature flags and explicit diagnostics.
Operativna sigurnost se temelji na fallbackovima, feature flagovima i eksplicitnoj dijagnostici.
Reliability
Pouzdanost
Security boundaries
Sigurnosne granice
Observability
Known work remains: stronger centralized secrets/key rotation, cluster-safe audit storage and deeper live Join timing instrumentation.
Otvoreni rad ostaje na jačem centraliziranom upravljanju tajnama/ključevima, cluster-safe audit storageu i dubljoj Join timing instrumentaciji.
Friday Readiness verifies the system before Jumu'ah; Quality Management improves it after the event.
Friday Readiness provjerava sistem prije džume, a Quality Management ga poboljšava nakon događaja.
Friday Readiness
AI Quality Management
AI upravljanje kvalitetom
Recent work reduced “god files” and preserved compatibility through facades and tests.
Nedavni rad je smanjio “god files” i sačuvao kompatibilnost kroz facade slojeve i testove.
Frontend decomposition
JoinSessionPage.jsx decomposed and simplifieduseActiveSession.js split into capture, realtime, preferences and health concernsuseAudioCapture.js and useStreamRealtime.js extractedBackend decomposition
pipeline_persistence.py split behind stable importscosting/rollups.py converted into a thin facadefiles and clearer responsibilities
datoteke i jasnije odgovornosti
facade/import contracts
facade/import ugovori
high-risk behavior before deploy
visokorizično ponašanje prije deploya
Production-capable modules with targeted reliability and scaling work remaining.
Produkcijski sposobni moduli uz ciljani preostali rad na pouzdanosti i skaliranju.
Architecture principle: scale infrastructure with proven demand; do not introduce new paid services without a clear product or reliability case.
Arhitektonski princip: skalirati infrastrukturu s dokazanom potražnjom; ne uvoditi nove plaćene servise bez jasnog produktnog ili reliability razloga.