In most call centers, QA means a manager listens to a small handful of calls and hopes they're representative. The rest go unreviewed.
CallAudit-X is my attempt at a different setup: upload call recordings, get a transcript and a QA audit from AI, then let a human approve or correct the result. It's a SaaS-style app with customer and admin dashboards, analytics and billing.
Repo: https://github.com/mafzalkalwardev/CallAudit-X (MIT licensed)
This post covers the design decisions I care most about, based on what's in the repo.
The stack
Next.js 14 App Router, React, TypeScript and Tailwind CSS on the front, Prisma with PostgreSQL for data, bcryptjs and jose JWT for auth, Recharts for dashboards, Stripe for billing, OpenAI for transcription and audits, and FormSubmit for password reset email.
Nothing exotic. I wanted every moving part to be something a client's team could maintain.
Decision 1: AI only runs when you ask for it
A lot of AI apps quietly call a model during page render.…