Spaces:
Runtime error
Runtime error
| title: InterviewCoach | |
| emoji: 🎙️ | |
| colorFrom: green | |
| colorTo: gray | |
| sdk: gradio | |
| sdk_version: "6.16.0" | |
| python_version: "3.11" | |
| app_file: app.py | |
| pinned: false | |
| short_description: Local interview coach with live feedback. | |
| models: | |
| - build-small-hackathon/interview-coach-3b | |
| - Qwen/Qwen2.5-3B-Instruct | |
| - openai/whisper-small | |
| tags: | |
| - gradio | |
| - interview | |
| - speech-to-text | |
| - langgraph | |
| - local-ai | |
| - track:backyard | |
| - sponsor:openai | |
| - achievement:offgrid | |
| - achievement:fieldnotes | |
| # Interview Coach | |
| Created by [@vadirajkrishna](https://huggingface.co/vadirajkrishna). | |
| Interview Coach is a local-first assistant for live technical interviews. It listens to noisy interview audio, extracts the actual Data Science, ML, AI, or System Design question, and shows a compact coaching card with important pointers while the candidate is answering. | |
| Development note: the live transcription flow, coaching-card timing, and transcript extraction loop were iterated with Codex assistance. | |
| ## Links | |
| - Hugging Face Space README: https://huggingface.co/spaces/build-small-hackathon/interview-copilot-local/blob/main/README.md | |
| - Published article: https://huggingface.co/blog/build-small-hackathon/local-interview-copilot | |
| - Demo video: https://www.loom.com/share/d44244e43927423b9be237fbb207a65b | |
| ## Why It Matters | |
| The goal is not to handhold the candidate through the interview or generate a scripted answer. The goal is to give timely, high-signal reminders so the candidate can cover the important parts of their own answer naturally. | |
| Interview conversations are messy: greetings, interviewer transitions, repeated words, partial transcription, candidate clarifications, and answer fragments often appear in the same transcript. Interview Coach helps by: | |
| - Capturing the core technical question from noisy live conversation. | |
| - Showing concise pointers that help the candidate cover the expected areas. | |
| - Separating interviewer questions from candidate answers after the session. | |
| - Evaluating saved Q&A exchanges with critical feedback and improvement areas. | |
| ## Multi-Model Approach | |
| The app uses different local models (sourced from Hugging Face) for different jobs instead of asking one model to do everything: | |
| - Speech-to-text: Whisper via `mlx-whisper` locally and `openai/whisper-small` on Hugging Face Spaces. | |
| - Topic and pattern detection: fine-tuned [build-small-hackathon/interview-coach-3b](https://huggingface.co/build-small-hackathon/interview-coach-3b) (available on Hugging Face) to identify the interview question type and coarse pattern. | |
| - Coaching hints: `Qwen/Qwen2.5-3B-Instruct` (from Hugging Face) generates short, question-specific pointers for the live coaching card. | |
| - Transcript cleanup and Q&A extraction: the general LLM extracts structured questions and candidate answers from noisy transcripts. | |
| - Evaluation: the evaluator uses the saved candidate answer, not the coaching hints, to provide a benchmark answer, hiring band, strengths, weaknesses, and critical gaps. | |
| This keeps the live coaching path fast while allowing more careful reasoning for post-session extraction and evaluation. | |
| ## Agentic Architecture | |
| The app follows a LangGraph-style pipeline where each step has a focused responsibility: | |
| ```text | |
| Audio Capture -> Transcription -> Question Extraction -> Topic/Pattern Agent | |
| -> Coaching Card UI | |
| Saved Transcript -> Q&A Extraction -> SQLite Persistence -> Evaluation Agent | |
| ``` | |
| At runtime, the live path prioritizes speed: it listens to system audio, updates the transcript, extracts the latest likely technical question, classifies the question type, and renders a coaching card. After the session, the slower processing path extracts all Q&A exchanges from the full transcript and stores them in SQLite for evaluation and CSV export. | |
| ## Running Locally | |
| Local-first interview coaching app with a Hugging Face Space demo mode. | |
| On Hugging Face Spaces, the app uses browser microphone recording and a | |
| Linux-compatible Transformers Whisper backend. Local-only system audio capture | |
| via BlackHole and Ollama-based LLM calls are not available in Space mode. | |