Proposal overview
Architecture & production path
How this prototype maps to a secure production system, what is built for real versus simulated for the demo, and how transcription safety screening and teacher routing work.
Production flow
Recording → private upload → background job → transcription → safety screening → metrics → filler classification → coaching → teacher review.
- 1Browser recordingbuilt for real
MediaRecorder captures a short clip in the browser.
- 2Private audio uploadbuilt for real
Audio is stored in object storage — Vercel Blob on the deployed app, the local filesystem in dev; the DB keeps only a key. Production adds signed, expiring URLs.
- 3Background processing jobprototype shortcut
Production: a queued worker runs the pipeline with retries. Prototype: a synchronous request.
- 4Transcriptionbuilt for real
OpenAI transcription (gpt-transcribe), verbatim — disfluencies preserved.
- 5Safety screeningbuilt for real
The transcript is screened for self-harm, threats, and abuse disclosure BEFORE coaching. A flag routes the recording to teacher review instead of normal feedback.
- 6Deterministic metricsbuilt for real
Words-per-minute + counts computed in application code — never the model.
- 7Contextual filler classificationbuilt for real
The model proposes filler annotations; app code validates and counts.
- 8Structured coaching notesbuilt for real
Short, encouraging, delivery-only notes. Suppressed when a recording is flagged.
- 9Teacher reviewbuilt for real
Flagged recordings enter a review queue; a human decides, and can send the student a message. Automated flags require human judgment.
Production also adds: role-based authorization, signed (expiring) audio URLs, job retries, audit history, monitoring, and configurable retention.
Safety screening & routing — our approach
1. Screening the transcript
After transcription and before any coaching is generated, the transcript passes through a dedicated safety step (its own service interface, separate from filler classification and coaching). It reads the meaning of what the student said and decides whether the language raises a concern in one of the client's areas — self-harm, a threat of violence, or disclosure of abuse — plus a general catch-all. Because it is semantic, a paraphrase is caught, not just specific keywords. It returns a broad, non-diagnostic category and a short reason; it never attempts a clinical judgment.
2. Routing a flagged recording
When the screen flags a recording, ordinary coaching is suppressed — the student is not shown pace/filler feedback. Instead the student sees a calm, neutral holding message, and the recording enters the teacher review queue with its broad category. A teacher reviews it, and may send the student a short human message; the interface states plainly that automated flags require human judgment. The AI never resumes automated feedback on a flagged recording.
Prototype vs. production
In this prototype the screen runs live on the reviewer's own typed or recorded input (fictional demo content — the people testing this are the customer and reviewers, not real students). For a production system serving actual students, this step gains tuned thresholds, human-in-the -loop calibration, auditability, notification, and client-defined safeguarding and escalation procedures. Try it on the student screen: record or type a concerning phrase and watch it route to the teacher instead of returning normal feedback.
Functional vs. simulated
The risky, persuasive parts are built for real; the rest is simulated with seeded data for the demo.
| Area | Status | Detail |
|---|---|---|
| Browser recording & playback | functional | Real MediaRecorder capture, playback, re-record. |
| Transcription | functional | Live OpenAI transcription for recordings. |
| Filler classification + metrics | functional | Live contextual classification; deterministic counts + WPM. |
| Coaching notes | functional | Live structured generation with a deterministic fallback. |
| Safety screening + routing | functional | Live semantic screen; flagged recordings routed to teacher review. |
| Estimated AI cost | functional | Real token usage captured; cost derived from a maintained price table (estimate). |
| Authentication | simulated | Role switch by tab; no login. Production: real auth + sessions. |
| Authorization | simulated | No access control; any link is open. Production: role-based + signed URLs. |
| Identity / enrollment | simulated | Seeded users + class. Production: real accounts, rosters, invitations. |
| Audio storage & retention | functional | Object storage (Vercel Blob on deploy, filesystem in dev) with auto-deletion. Production adds signed, expiring URLs. |
| Teacher & admin analytics | simulated | Teacher trends are real; admin is seeded breadth. Production: full analytics. |
This is a proposal prototype with fictional data. Production work adds authentication, role-based authorization, retention policies, monitoring, auditability, and client-defined safeguarding procedures.