How CoachOS works
A daily pipeline from raw recording to coaching report — with a role-aware brain so a setter is never judged on a closer's job.
Cron pulls new recordings from the team's Google Drive folder every 30 min + a nightly sweep. Files copied to Cloudflare R2, md5-deduped.
Rep identified by folder-per-rep (or voice-ID in v2). Anything ambiguous → a one-click triage queue.
Sarvam AI (Hindi/Hinglish, speaker-separated) → timestamped, diarised transcript + English translation. faster-whisper fallback.
Claude fills a fixed, ROLE-AWARE JSON schema — setters and closers scored on their own rubric. Consistent scoring = real trends.
Postgres: reps, calls, scores, objections, findings, SOPs. Audio in R2.
Nightly per-rep coaching report + team digest, pushed to WhatsApp/email.
Recurring wins/mistakes roll into living SOPs. Repeat a flagged mistake N times → the matching SOP auto-assigns.
Wiring status
What's live in this build and what plugs in with keys.
- Live App, role-aware scoring engine, reports, SOP library — seeded with 41 real analysed calls.
- Needs key Sarvam AI transcription (or self-hosted faster-whisper).
- Needs key Google Drive service account (folder-per-rep watcher).
- Needs keyAnthropic API for automated scoring (schema & prompt already built).
- v3 CRM linkage — validate outcomes against real enrollments.
Role-aware rubric
The setter/closer split, codified.
Qualify hard, build interest, book a committed appointment / warm-transfer.
Discover → pitch to the pain → resolve objections → close.