Skip to content
All projects
FULL-STACK/AISoftware Engineering Internship · DCM Shriram Ltd.

Call Audit Platform

AI-assisted call QA, shipped to production at DCM Shriram.

Started
May 2026
Stack
React · FastAPI · PostgreSQL · Whisper · Nginx

01 · Problem

The problem

DCM Shriram's QA and customer-service teams needed one place to audit calls: score them, collect agents' self-evaluations and HOD ratings, and keep a permanent feedback trail.

  • Recordings are sensitive. Employees should see that an audit exists, but only the right people may hear it.
  • Audio is large and shouldn't pile up forever, yet the feedback history must never be lost.
  • It started on SQLite and had to become a production service on the company's Ubuntu server.

02 · Approach

How it works

  1. 01AI first pass on every callEach upload is transcribed by Whisper large-v3 and scored by Llama 3.3 70B (both on Groq): quality score, CSAT, sentiment, topics, keywords and coaching suggestions. Calls are tagged by ISO week for reporting.
  2. 02A workflow for three rolesAdmins create audits and design the self-evaluation form (yes/no, 1–5 ratings, free text), agents fill it in and HODs add a compliance rating. Scores roll up into scorecards and leaderboards.
  3. 03Audio that can't leakNo audio URL is ever exposed. The browser fetches each recording as an authenticated blob through Axios interceptors and renders it with WaveSurfer.js; other people's calls show up locked.
  4. 04Retention without data lossAn APScheduler job deletes recordings after an admin-configurable number of days and runs weekly disk checks, while transcripts and feedback are kept permanently.
  5. 05From SQLite to productionA migration script copies every table into PostgreSQL and re-syncs the sequences. The app runs on Ubuntu with Uvicorn under systemd behind an Nginx reverse proxy that also serves the React build.

03 · Architecture

Architecture

One Ubuntu server: Nginx in front, FastAPI in the middle, AI in the cloud.

USERSAdmin · HOD · AgentNGINXreverse proxyREACT SPAWaveSurfer audioFASTAPIJWT · role checksGROQWhisper · Llama 3.3STORAGEPostgreSQL + audioAPSCHEDULERretention cleanup
  1. 01
    Three kinds of user

    Admins upload recordings, call agents review their own calls, HODs rate compliance.

  2. 02
    One entry point

    Nginx serves the React build and reverse-proxies API calls to FastAPI on the same Ubuntu server.

  3. 03
    FastAPI owns the rules

    JWT auth and strict role boundaries decide who can see and hear what.

  4. 04
    AI does the first pass

    Whisper large-v3 transcribes; Llama 3.3 70B returns scores, sentiment, topics and tips.

  5. 05
    Split storage

    Audits and feedback live in PostgreSQL; audio stays on disk with only its path in the database.

  6. 06
    Retention on autopilot

    Recordings are purged after the configured number of days; the text record is kept for good.

04 · Results

Results

roles with separate permissions
3
AI models per call: Whisper large-v3 and Llama 3.3 70B
2
audio URLs exposed to the browser
0
in production, migrated from SQLite
PostgreSQL

Built and supported in production during my May–July 2026 internship, resolving production issues and shipping features with the HR, QA and infrastructure teams.

Next case studyBanking Call IntelligenceHybrid rules + AI analysis of financial calls.