Tune and check · Step 10
Models and quality profiles
No part of JBWhisper is tied to one model. Every job is a role with its own provider and model, so you can route a small job to a small model and leave the answer to a frontier one.
What each part of the app uses
| Role | What it does |
|---|---|
| Realtime transcription | Streams words as they are spoken (needs an OpenAI key; switch to OpenRouter's sentence-by-sentence transcription without one) |
| Conversation intelligence | Decides whether a question has been asked and what kind |
| Understanding orchestrator | Keeps the reading of the conversation going |
| Retrieval planner | Decides whether the notes, the session or the screen are needed |
| Evidence judge | Decides whether what was found is enough, and whether any of it contradicts |
| Interview answer | Writes the answer |
| Deep reasoning | For difficult questions |
| Vision | Reads a screenshot |
| Coding | Writes code answers |
| Diagram | Draws a diagram when one explains better |
| Training questions | Writes the practice questions |
| Fallback | Used when a role's own model fails |

Providers, local runtimes and profiles
- Providers: OpenAI and OpenRouter, with JBWhisper's keys or your own
- Local runtimes: a local model answers without a single byte of the interview leaving your computer and without a per-token cost
- Leave a role on Profile to let the active quality profile choose; the profiles (Best, Balanced, Fast) swap the whole mapping at once