Projects

Live demo

Doc Coach. Every consult graded and coached within minutes.

Every recorded patient consultation gets graded against a 7-part playbook by an LLM, turned into a color-coded coaching report, and emailed to the clinician, their coordinator, and leadership within minutes of the transcript landing.

LLM pipeline · Consultation QA 6 steps · synthetic data

Walk through it, six steps

Step 1 of 6

A recording finishes

The video platform fires a webhook the moment a transcript is ready. The service verifies the signature, dedupes by meeting id, and filters out anything that is not a patient consultation: staff meetings, trainings, calls under 10 minutes, or meetings tagged to skip QA.

IngestSynthetic data
$ webhook recording.transcript_completed
signature ok · meeting 7f3a…d2 claimed (idempotent)
filter: topic ok · 34 min ok · 3 participants ok
→ dispatched to pipeline (run #482)
Step 1 of 6

Every name, number, transcript and document in this tour is synthetic. The mechanisms, thresholds and architecture are real. The production system and its data stay private.

The problem.

Consultations are where treatment gets accepted or lost, and nobody had time to review them. Recordings piled up unwatched, coaching happened on gut feel, and every clinician ran the conversation their own way. The ask: make every consult reviewable, comparable, and coachable, automatically, without adding a minute of anyone's day.

  • Delivery SLO < 10 min transcript ready to inbox
  • Scoring 7 criteria · 70 pts 24 sub-criteria, versioned rubric
  • Test suite ~700 tests 85% coverage floor in CI
  • Auto reports 2 / week+month zero clicks, scheduled

How it fits together.

4 layers, left to right
  1. Ingest

    • Video platform webhooks, HMAC-verified per account
    • Firestore claim for idempotency
    • Consult filters: topic, duration, participants, opt-out tag
  2. Understand

    • Diarized transcript parsing
    • 3-layer identity resolution
    • 30-day per-clinician baselines from the ledger
  3. Score and render

    • Gemini 2.5 Pro, structured output vs JSON Schema
    • Versioned rubric in markdown, editable in the app
    • Jinja2 → email-safe HTML → PDF
  4. Deliver and audit

    • Drive archive · 48-column Sheets ledger
    • PHI-free audit rows in BigQuery
    • Gmail delivery · 5-min retry sweeper · Terraform

Where it landed.

Every consultation is now reviewed within minutes, against the same bar, with evidence quotes a coach can act on. Leadership reads one weekly report instead of watching hours of recordings, and the rubric itself is versioned so scoring changes are deliberate, not drift. The seven criteria shown here carry generic names; the real playbook is company IP and stays private.

Concepts

Structured outputsJSON Schema validationLLM evalsIdentity resolutionPrompt versioningIdempotent pipelines

Stack

PythonFastAPICloud RunVertex AI Gemini 2.5 ProFirestoreBigQueryTerraformDrive/Gmail APIs