Client layer
React, TanStack Query, Dexie, and IndexedDB keep active work available locally and synchronize it after reconnection.
Private production system / Engineering case study
An on-premise conversational intelligence platform for multilingual Tunisian sales meetings, from audio capture to structured commercial action.
Confidentiality boundary This case study describes engineering decisions and anonymized system behavior. It does not expose client data, production code, credentials, or proprietary documents.
Sales meetings in Tunisia frequently move between Tunisian Derja, French, Arabic, and English. Conventional transcription and CRM workflows lose context across that code-switching, while manual note-taking makes follow-up inconsistent and difficult to audit.
Meeting audio is sensitive, connectivity is not guaranteed, and AI services can be slow or unavailable. The architecture therefore treats privacy, offline work, processing state, retries, and traceability as product requirements rather than deployment details.
The platform separates offline-capable product state, transactional APIs, queued processing, and GPU-backed AI services so each layer can fail and recover independently.
React, TanStack Query, Dexie, and IndexedDB keep active work available locally and synchronize it after reconnection.
Express, MongoDB, JWT/RBAC, Redis, and BullMQ coordinate access, data, uploads, background jobs, and fallbacks.
FastAPI, faster-whisper, NLLB-200, Gemini, CUDA, and FFmpeg handle audio and structured analysis.
Whisper Large v3 was fine-tuned for Tunisian Arabic and code-switched business speech, then evaluated as one part of the complete production pipeline.
Checkpoint 5,200 was retained after WER and CER evaluation. Production post-processing accounts for Tunisian Derja and French business terminology, with local inference run on an RTX 4070 laptop GPU with 8 GB VRAM.
IndexedDB preserves recordings, drafts, and workflow state when the network is unavailable.
Synchronization resumes after connectivity returns while retaining clear local processing state.
Chunked uploads reduce the cost of interruption and make progress inspectable.
Queue fallback, diagnostics, audit history, and retryable jobs make failures actionable.
The delivered platform connected meeting capture, multilingual processing, client context, follow-up workflows, and sales analysis in a private deployment model.
A working full-stack system with local-first behavior, processing diagnostics, email versioning, audit logging, and sales dashboards.
Speech quality varies with noise, speaker overlap, dialect, and decoding settings. Generative analysis still requires grounded prompts and human review.
Model quality is only one production variable. Recovery, state visibility, deterministic boundaries, and maintainability determine whether the system remains useful.
React / TypeScript / Vite / Tailwind CSS / shadcn/ui / TanStack Query / Dexie / IndexedDB
Node.js / Express.js / MongoDB / Mongoose / JWT / RBAC / BullMQ / Redis / Multer / bcrypt
FastAPI / Whisper Large v3 / faster-whisper / NLLB-200 / Gemini / PyTorch / Transformers / FFmpeg
Vitest / Pytest / Docker / CUDA / Queue diagnostics / Audit logging / Fallback processing