mirror-match advik-bhatt · COMPLETED
On a live customer service call, MirrorMatch reads the caller's emotion on every turn and coaches the agent out loud before the conversation escalates. The user calls in as an angry customer; a Tavus AI avatar plays the support agent. MirrorMatch transcribes the speech, classifies the emotion in real time, and speaks adaptive guidance through ElevenLabs the moment tension rises. Technical highlights: • HuggingFace DistilRoBERTa classifies each utterance across 7 emotions, with a keyword fallback for resilience; the Web Speech API streams interim results so the read updates mid-sentence • A 4-level coaching engine escalates guidance from "maintain flow" to "route to a human now," visualized through a pulsing emotion orb and a live emotion-arc chart • ElevenLabs voices the coaching, with voice stability dropping as anger rises for a more urgent delivery • Redis (Upstash) as the real-time backbone — emotion arc as a sorted set, peak anger via ZREVRANGE, atomic counters for turns and escalations, and per-IP rate limiting — all read back into a live dashboard • Supabase for durable session history and post-call QA replay • Veris integration for scripted escalation simulations against the same classifier • Fully serverless on Next.js 14 and Vercel, no backend server
github.com/advik-bhatt/mirror-match · ★ 2 · Forks 0 · Size 141 KB
SUMMARY
COVERAGE
Analyzed 47 files · 80 commits · 0 API calls