← all projects
Mofid Securitiesend-to-end architecturespeech · NLPdistributed systems

SumX Call-Centre Speech & Analytics Platform

Turning millions of call-centre conversations into structured, searchable, analysable data.

My roleLed the end-to-end architecture and development
CompanyMofid Securities, Iran's largest brokerage
DomainService-centre operations, QA and management reporting
RuntimeSelf-built Docker Swarm cluster, RabbitMQ, MongoDB
10k+calls / day
300+hours of audio / day
5M+calls processed total
20+services
12+cluster nodes

01Overview

SumX turns call-centre phone calls into structured, searchable, analysable data. It ingests dual-channel call audio and metadata from the call centre's Cisco MediaSense system, then runs each call through a speech-and-language pipeline: voice-activity detection, automatic speech recognition, and NLP including intent detection and sentiment analysis.

From the transcript and audio it derives a rich set of call features: silence percentage, conversation speed, call duration, agent-versus-customer talk share, and forbidden-word usage. Everything is exposed through a multi-filter search dashboard, a QA workspace for quality-assurance staff, and reports for several levels of management. The platform processed more than 10,000 calls a day (over 300 hours of audio), and across the life of the project handled over 5 million calls.

Cisco MediaSensedual-channel audio+ metadata VAD + ASRspeech → text NLPintent · sentiment Featureextraction MongoDBstore Dashboardmulti-filter searchQA workspacemgmt reporting Extracted features: silence % · conversation speed · call duration · agent/customer talk share · forbidden words
Figure 1. The SumX call-processing pipeline, from Cisco MediaSense ingest to search, QA and reporting.

02My role & contributions

I led the end-to-end architecture and development of SumX, owning everything from the audio pipeline to the cluster it runs on.

Speech & NLP pipeline

  • Built the flow that pulls dual-channel audio and metadata from Cisco MediaSense and runs VAD, ASR, intent detection and sentiment analysis on every call.

Feature engineering & search

  • Designed the extracted-feature set (silence %, talk speed, duration, agent/customer talk share, forbidden words) and the multi-filter dashboard that searches calls by any of them.

QA & reporting

  • Built the QA capability for quality-assurance agents and reporting tailored to multiple levels of management, plus specialised RBAC.

Infrastructure from scratch

  • Set up the Docker Swarm cluster myself, 20+ services across 12+ nodes, with RabbitMQ for inter-service communication and MongoDB for storage.
  • Observability & BI: Prometheus, Grafana, Loki and Alertmanager for monitoring and alerting, and Metabase for data insight.
Docker Swarm cluster — 20+ services across 12+ nodes ingest svc ASR svc NLP svc feature svc API search QA svc reports …20+ services total RabbitMQmessage bus Observability — Prometheus · Grafana · Loki · Alertmanager MongoDBcall data store MetabaseBI / data insight RabbitMQ carries inter-service messages · MongoDB stores every call's transcript, features and metadata · Metabase reads MongoDB for BI
Figure 2. Runtime: a self-built Docker Swarm cluster of 20+ services over 12+ nodes, with RabbitMQ messaging and full observability.

03Technology

Python · Flask · FastAPICisco MediaSenseASR / VADNLP — intent · sentimentMongoDBRabbitMQDocker SwarmPrometheus · Grafana · Loki · AlertmanagerMetabase

04Impact

Architecture described at a conceptual level; internal identifiers and credentials are intentionally omitted.