How keithtkh/qfwork works
QFwork.ai lets professionals rehearse workplace-English conversations with an AI video partner and receive a report combining transcript-based coaching, measured voice metrics, and camera-presence observations. The main path is access check, scenario selection, live session and parallel microphone recording, then session analysis and report delivery. The README documents four scenario rubrics, trial tiers, and optional analysis layers. Some server routes and frontend pages are only partially sampled; those links follow the documented architecture where noted.
Main entry points: server.js API server · exam.html Live practice · public Practice website · pcm-worklet.js Microphone capture
Components 17
Practice experience
- Practice website
public - Live practice
public/exam.html - Microphone capture
public/pcm-worklet.js - Booking pages
public/book.html
Access and trials
- Browser access gate
public/access-gate.js - Trial access control
access.js - Trial code issuance
server.js
Session services
- API server
server.js - Temporary audio buffer
server.js - Video session adapter
tavus.js
Coaching analysis
- Voice metrics
voice-metrics.js - Coaching report engine
feedback.js - Structured report
Other components
- Professional
- Tavus video service
- Groq speech recognition
- Groq language model
Connections 22
- Professional → Practice website: visits
- Practice website → Browser access gate: loads
- Professional → Live practice: chooses scenario
- Browser access gate → API server: redeems and verifies
- API server → Trial access control: checks session
- API server → Trial code issuance: issues code
- Professional → Booking pages: books
- Live practice → API server: starts session
- API server → Video session adapter: creates and polls
- Video session adapter → Tavus video service: requests session data
- Tavus video service → Live practice: streams video conversation
- Live practice → Microphone capture: captures microphone
- Microphone capture → Live practice: sends audio blocks
- Live practice → API server: uploads recording
- API server → Temporary audio buffer: holds audio temporarily
- API server → Voice metrics: analyzes recording
- Voice metrics → Groq speech recognition: requests word timings
- API server → Coaching report engine: supplies transcript and metrics
- Coaching report engine → Groq language model: generates report
- API server → Structured report: returns result
- Structured report → Live practice: displays coaching
- API server → Trial access control: limits report by tier