Back to portfolio

Private production system / Engineering case study

SalesAI
Meeting Insights Hub

An on-premise conversational intelligence platform for multilingual Tunisian sales meetings, from audio capture to structured commercial action.

Role AI Developer / Software EngineerPeriod Dec 2025 - Jul 2026Context Netcom SA / Tunis

Confidentiality boundary This case study describes engineering decisions and anonymized system behavior. It does not expose client data, production code, credentials, or proprietary documents.

01

Problem and context

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.

  • Developed with Netcom SA from December 2025 to July 2026
  • Designed for recorded and browser-captured sales meetings
  • Production source and client data remain private
02

Constraints shaped the system

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.

  • On-premise deployment and local inference
  • Local-first browser data with reconnection sync
  • Chunked upload and background queue fallback
  • RBAC, audit logs, and diagnostic state
03

Architecture

The platform separates offline-capable product state, transactional APIs, queued processing, and GPU-backed AI services so each layer can fail and recover independently.

01AudioBrowser / import
02WhisperDerja + code-switching
03TranslationSegment-aware NLLB
04LLM analysisGrounded extraction
05ActionsCRM / email / analytics

Client layer

React, TanStack Query, Dexie, and IndexedDB keep active work available locally and synchronize it after reconnection.

Platform layer

Express, MongoDB, JWT/RBAC, Redis, and BullMQ coordinate access, data, uploads, background jobs, and fallbacks.

Inference layer

FastAPI, faster-whisper, NLLB-200, Gemini, CUDA, and FFmpeg handle audio and structured analysis.

04

Whisper adaptation

Whisper Large v3 was fine-tuned for Tunisian Arabic and code-switched business speech, then evaluated as one part of the complete production pipeline.

~18.2 hoursPrepared audio5,451Training samples309Test samples3k / 4.5k / 5.2kEvaluated steps

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.

05

Backend reliability and local-first design

Offline capture

IndexedDB preserves recordings, drafts, and workflow state when the network is unavailable.

Reconnection

Synchronization resumes after connectivity returns while retaining clear local processing state.

Large media

Chunked uploads reduce the cost of interruption and make progress inspectable.

Processing failure

Queue fallback, diagnostics, audit history, and retryable jobs make failures actionable.

06

Results, limitations, and lessons

The delivered platform connected meeting capture, multilingual processing, client context, follow-up workflows, and sales analysis in a private deployment model.

Result

A working full-stack system with local-first behavior, processing diagnostics, email versioning, audit logging, and sales dashboards.

Limitations

Speech quality varies with noise, speaker overlap, dialect, and decoding settings. Generative analysis still requires grounded prompts and human review.

Lesson

Model quality is only one production variable. Recovery, state visibility, deterministic boundaries, and maintainability determine whether the system remains useful.

Technology ledger

Frontend

React / TypeScript / Vite / Tailwind CSS / shadcn/ui / TanStack Query / Dexie / IndexedDB

Backend

Node.js / Express.js / MongoDB / Mongoose / JWT / RBAC / BullMQ / Redis / Multer / bcrypt

AI services

FastAPI / Whisper Large v3 / faster-whisper / NLLB-200 / Gemini / PyTorch / Transformers / FFmpeg

Engineering

Vitest / Pytest / Docker / CUDA / Queue diagnostics / Audit logging / Fallback processing