ProjectsAugust 14, 2026

AI Sales Coach & Meeting Intelligence — Real-Time Voice Simulation Platform

image
Core Mission: Transform sales training from delayed, subjective roleplays into continuous, sub-700ms real-time AI simulations with immutable performance MRI audits.
Traditional sales enablement relies on manual manager roleplays and delayed feedback loops. Reps wait days for subjective reviews, while managers spend 15+ hours weekly running inconsistent simulations. The AI Sales Coach & Meeting Intelligence Platform is an enterprise-grade voice simulation and real-time behavioral guidance engine designed to eliminate training bottlenecks. By orchestrating low-latency voice WebRTC streams, dynamic LLM persona injection, and automated 5-pillar performance audits, reps achieve quota readiness in weeks instead of months.
< 700msEnd-to-end voice-to-HUD coaching turnaround
75%Reduction in new sales rep ramp time
5 PillarsHolistic post-call performance MRI rubric
99.9%Stripe webhook idempotency & ledger consistency
AI Sales Coach Platform Overview & Landing Surface
Traditional Sales Training (Bottlenecked):
Manual Manager Roleplay ──► Subjective Feedback ──► Days Delay ──► Slow Ramp (8-12 weeks)

AI Sales Coach Architecture (Automated & Real-Time):
24/7 AI Voice Prospect ──► Sub-700ms In-Flight HUD ──► 5-Pillar MRI ──► Rapid Ramp (2 weeks)
Every core technical decision was evaluated against latency, maintainability, financial consistency, and developer velocity:
Architectural Area
Choice Made
Rejected Alternative
Why / Decision Rationale
Backend ArchitectureNestJS Modular MonolithMicroservicesAvoided distributed network latency and complex saga coordinators while preserving strict bounded contexts.
Voice Streaming PipelineClient WebRTC via Vapi SDKServer-Side Audio ProxyDirect browser-to-Vapi WebRTC eliminates backend media hops, cutting voice turnaround to under 400ms.
Credit Ledger ConsistencySynchronous Prisma $transactionAsync Message QueueUsage credits govern real-time API invocation. Synchronous deduction eliminates double-spending vulnerabilities.
Frontend State & CacheRTK Query + Redux ToolkitReact Query / ZustandTag-based cache invalidation across shared multi-platform endpoints, seamless token injection, and centralized auth.
AI LLM Routing StrategyHybrid GPT-4o & GPT-4o-miniSingle Static ModelSub-500ms TTFT for live in-flight HUD tips (gpt-4o-mini), deep reasoning for post-call audits (gpt-4o).
Candidate Access Subsystem6-Character Ephemeral PINsDisposable Email AccountsZero-friction recruitment testing without password setup, with backend credit proxying to manager accounts.
The platform uses a layered architecture separating voice streaming, business logic orchestration, payment ledgers, and database persistence.
AI Sales Coach Central Command Dashboard & Trainee Overview
AI Sales Coach System Architecture Overview
The platform is designed to power multiple AI tools under a single organization account without duplicating user management or billing:
Platform Ecosystem:
├── ai-coach (AI Sales Coach: Roleplay, Live Coaching Tips, MRI Audits)
└── meeting-summarizer (Meeting Intelligence: Summaries, Action Items, Email Dispatch)
Meeting Intelligence & Automated Follow-Up Platform
Credits represent a unified internal currency across all platforms:
Platform
Action Identifier
Credit Cost
Description
ai-coachAI_CALL10 CreditsInitiating a live voice roleplay session
ai-coachCOACHING_TIP1 CreditGenerating a live tactical coaching prompt
ai-coachSUMMARY2 CreditsComprehensive 5-Pillar MRI post-call audit
meeting-summarizerSUMMARIZE2 CreditsMeeting transcription analysis and summary
meeting-summarizerCOACHING3 CreditsExtracting meeting coaching opportunities
meeting-summarizerEMAIL_PARTICIPANTS1 CreditGenerating & formatting participant follow-up emails
Before initiating a live voice session, trainees configure the simulation through a guided 3-step setup:
  1. Step 1: Call Type & Persona Selection: Choose between Cold Call, Discovery, Product Demo, Negotiation, or Renewal.
  2. Step 2: Difficulty & Prospect Temperament: Select prospect skepticism, gatekeeper presence, and objection hostility.
  3. Step 3: Goal Definition & Context Injection: Define measurable call objectives (e.g., "Secure 15-min discovery meeting next Tuesday") and industry constraints.
Step 1: Call Type & Persona Selection
1. Persona SelectionSelect scenario, industry, and prospect persona profile.
Step 2: Difficulty & Temperament
2. Difficulty TierConfigure objection resistance, budget limits, and pacing.
Step 3: Goals & Constraints
3. Goal DefinitionDefine measurable targets to evaluate goal achievement.
During the live call, the trainee speaks naturally with the AI prospect. In parallel, the coaching engine analyzes conversational patterns and streams real-time micro-interventions token-by-token directly to the HUD without interrupting speech flow.
Live Voice Roleplay HUD with Real-Time Tactical Coaching Prompts
Live Call Voice Streaming & Real-Time Coaching Tip Lifecycle
To prevent coaching fatigue and avoid repeating advice, the backend maintains a session-level similarity cache with a 4-hour time-to-live and automatic 30-minute background pruning:
Typescript
@Injectable()
export class CoachingService {
  private readonly sessionTipsCache = new Map<string, SessionCacheEntry>();
  private readonly CACHE_TTL = 4 * 60 * 60 * 1000; // 4 hours
  private readonly SIMILARITY_THRESHOLD = 0.3; // Stricter word overlap threshold

  constructor(
    private configService: ConfigService,
    private prisma: PrismaService,
    private creditsService: CreditsService,
  ) {
    // Proactive background cache pruning
    setInterval(() => this.pruneCache(), 30 * 60 * 1000).unref();
  }

  private isDuplicateTip(sessionId: string, newTip: string): boolean {
    const entry = this.sessionTipsCache.get(sessionId);
    if (!entry) return false;

    return entry.tips.some(existingTip => 
      this.calculateSimilarity(existingTip, newTip) > this.SIMILARITY_THRESHOLD
    );
  }
}
Upon call completion, SummaryService executes a structured LLM audit (temperature: 0.3 for high scoring stability) evaluating the call across 5 Core Pillars plus Goal Achievement.
Post-Call Performance MRI & Comprehensive Pillar Analysis
  1. Strategic Presence (0-100): Pacing, clarity, confidence, absence of filler words, and optimal talk-to-listen balance.
  2. Discovery Mastery (0-100): Skill in uncovering root causes, asking open-ended questions, and identifying implicit pain signals.
  3. Value Alignment (0-100): Anchoring product capabilities directly to business ROI and the prospect's personal objectives.
  4. Resilience & Objections (0-100): Professionalism in acknowledging concerns (LAER method) without becoming defensive.
  5. Closing Discipline (0-100): Securing time-bound, definitive next steps rather than ambiguous follow-ups.
  6. Goal Achievement (0-100): Objective grading on whether the trainee accomplished the specific predefined goal set before the call.
Typescript
// Word-level talk ratio calculation and composite score aggregation
const traineeWords = conversationText.toLowerCase().split(/\s+/).filter(Boolean).length;
const totalWords = conversationText.split(/\s+/).filter(Boolean).length;
const talkRatio = totalWords > 0 ? (traineeWords / totalWords) * 100 : 50;

const overallScore = [
  result.performance.goalAchievement,
  result.performance.presence,
  result.performance.discovery,
  result.performance.value,
  result.performance.resilience,
  result.performance.closing
].reduce((sum, score) => sum + score, 0) / 6;
Individual call sessions feed a longitudinal analytics engine that tracks trainee growth trajectories and identifies organization-wide skill deficiencies:
  • Trainee Trends: Rolling average tracking across pillars (improving, declining, stable).
  • Recurring Weaknesses: Pattern clustering identifying chronic bad habits across calls.
  • Org Maturity Score: Floor-wide capability rating (0-100) calculated by aggregating all active team member scores.
  • Skill Tier Classification: Expert ($\ge 80$), Proficient ($50 - 79$), Critical Needs ($< 50$).
Sales DNA Longitudinal Skill Tracking & Team Analytics
Designed for recruiting and frictionless hiring assessments:
  • Sales managers issue 6-character ephemeral access codes (e.g. TX-8921) with configurable maximum usage limits and expiration windows.
  • Candidates take standardized live voice assessments without creating accounts or entering credit cards.
  • The platform resolves credit deductions dynamically to the issuing manager's balance via guestSession.accessCode.ownerId.
Ephemeral Guest PIN Candidate Assessment Portal
Candidate Flow:
Manager Issues PIN ──► Candidate Enters Code ──► Live Assessment ──► Proxy Credit Deducted from Manager
The monetization engine combines recurring SaaS subscription tiers with usage-based credit ledgers.
Stripe Subscription Tiers and Usage Credit Ledger Management
Tier
Price / Mo
Monthly Credits
Rep Seats
Guest PIN Codes
Free$060 min0 (Solo)0
Solo$119500 min1 rep1 code
Starter$3491,500 min3 reps3 codes
Growth$8993,500 min8 reps8 codes
Pro$1,6997,000 min15 reps15 codes
Typescript
// Atomic balance modification with audit trail
async deductCredits(
  userId: string,
  platformSlug: string,
  action: string,
  description?: string
): Promise<CreditBalance> {
  const cost = this.getActionCost(platformSlug, action);
  
  const balance = await this.prisma.creditBalance.findUnique({
    where: { userId },
  });

  if (!balance || balance.credits < cost) {
    throw new BadRequestException('Insufficient credits for this operation');
  }

  const newBalance = balance.credits - cost;

  // Execute atomic multi-table write
  const [updatedBalance] = await this.prisma.$transaction([
    this.prisma.creditBalance.update({
      where: { userId },
      data: { credits: newBalance },
    }),
    this.prisma.creditTransaction.create({
      data: {
        userId,
        type: 'usage',
        amount: -cost,
        balance: newBalance,
        platformSlug,
        action,
        description,
      },
    }),
  ]);

  return updatedBalance;
}
  1. Ultra-Low Latency In-Flight Voice Coaching: Implemented client-side WebRTC audio streams via Vapi coupled with rolling 4-turn transcript windowing and keyword-based regex fast-paths on the backend. Employed token-streamed Server-Sent Events (SSE) directly to the HUD overlay.
  2. Multi-Role Billing Attribution for Ephemeral Guest Testing: Engineered a recursive credit proxy resolver in NestJS. Every session dynamically inspects its caller context: session.userId || guestSession.accessCode.ownerId. Deductions, usage logs, and rate limits transparently bind to the administrator's balance.
  3. Dual Subscription & Usage Ledger Integrity: Encapsulated credit modifications inside Prisma $transaction blocks with balance verification, writing dual entries (CreditTransaction audit log + CreditBalance ledger update) in a single atomic database execution.
  • 75% Faster Rep Ramp Time: New sales representatives reach quota readiness in 2 weeks instead of 8 weeks.
  • 🎯 42% Improvement in Discovery Depth: Automated MRI audits forced reps to abandon surface-level feature pitches in favor of problem discovery.
  • 💰 100% Automated Monetization: Zero-touch subscription management, automatic seat upgrades, and instant credit renewals via Stripe webhook orchestration.
  • 🔒 Enterprise Candidate Screening: Streamlined hiring pipelines by evaluating hundreds of sales applicants via PIN codes before conducting live manager interviews.

Related projects

Traceo — Offline-First Geofenced Field Operations & Route Management Platform

Traceo — Offline-First Geofenced Field Operations & Route Management Platform

Engineering an offline-first enterprise SaaS platform that eliminates falsified field reports, guarantees physical visit authenticity via GPS geofencing, and automates recurring route distribution.
Luma — Calm Client Operations Assistant & Temporal Memory System

Luma — Calm Client Operations Assistant & Temporal Memory System

Designing and engineering a calm client operations system that turns natural conversations into evolving attention, eliminating mental load for solopreneurs.
NordCode — High-Trust Technical Identity & Studio Platform

NordCode — High-Trust Technical Identity & Studio Platform

Designing and engineering a high-trust, engineering-grade web presence for a software solutions studio with precision design tokens, 0-runtime animations, and blueprint aesthetics.
Zambo Tattoo — Studio Landing Page & Artist Showcase

Zambo Tattoo — Studio Landing Page & Artist Showcase

Designing and building a bold, high-contrast digital showcase and landing page for Zambo Tattoo studio with an interactive artwork gallery, artist spotlight, and seamless client booking flow.
CRYOJET — B2B Industrial Growth Platform & Digital Transformation

CRYOJET — B2B Industrial Growth Platform & Digital Transformation

Designing and engineering an enterprise B2B platform for Algeria's leading cryogenic industrial cleaning contractor—demystifying dry-ice technology, eliminating sales cycle latency with instant WhatsApp routing, and capturing enterprise leads across 58 wilayas.