interview-coach / README.md
ishan-25's picture
Refined the Links
f798fc2 verified
|
Raw
History Blame Contribute Delete
3.69 kB
---
title: ai-interview-coach
emoji: πŸ†
colorFrom: purple
colorTo: red
sdk: gradio
sdk_version: 6.18.0
app_file: app.py
pinned: false
python_version: '3.10'
license: mit
short_description: AI Interview Coach
tags:
- track:backyard
- achievement:offbrand
- achievement:fieldnotes
thumbnail: >-
https://cdn-uploads.huggingface.co/production/uploads/686f49a3a31e9a517952dd0c/HfuMUE233jLKwNgjefSmy.png
---
### πŸŽ™οΈ Project Showcases
- **Live Video Demonstration:** [Watch on YouTube](https://youtu.be/6LrSl2-eqkc)
- **Official Social Media Pitch (LinkedIn Post):** [View on LinkedIn](https://www.linkedin.com/posts/ishan-awasthi-318809363_ai-machinelearning-opensource-ugcPost-7472384058170216448-V-Tb/?utm_source=share&utm_medium=member_desktop&rcm=ACoAAFpazoQBeI-MHc4Vviogyi1IJBzAq2zdUi4)
- **Official Blog Post on the BuildSmall Organisation:** [View my Blog Post](https://huggingface.co/blog/build-small-hackathon/interview-coach-blog)
# πŸŽ™οΈ AI Interview Coach β€” Version Alpha
An AI-powered interview preparation tool built with **Gradio 6** and **Qwen 2.5 7B** via the HuggingFace Inference API.
> πŸ† Built for the **Gradio Γ— Hugging Face Build Small Hackathon (June 2026)**.
---
## Features
- πŸ” **Two-stage job description validation** β€” blocks spam and prompt injection
- 🎚️ **3 interview modes** β€” Quick (3Q), Standard (5Q), Deep Dive (7Q)
- πŸ€– **Adaptive questions** β€” tailored to industry, role level, and detected keywords
- πŸ“Š **Keyword-aware scoring** β€” answers scored against job-specific expected terms
- πŸ”‘ **Keyword coverage badges** β€” see exactly which terms you hit and missed
- πŸ’‘ **AI-generated Prep Sheet** β€” works for ANY industry (not just tech)
- πŸ“„ **Timestamped PDF report** β€” downloadable session summary
- 🎨 **Premium dark UI** β€” glassmorphism, animated blobs, Inter font
---
## Quick Start (Local)
### 1. Clone and set up environment
```bash
cd HF_Hackathon
python -m venv .venv
.venv\Scripts\activate # Windows
# source .venv/bin/activate # Mac/Linux
pip install -r requirements.txt
```
### 2. Set your HuggingFace token
```bash
# Copy the example and fill in your token
copy .env.example .env
# Edit .env and replace hf_PASTE_YOUR_TOKEN_HERE with your actual token
```
Get a free token at: https://huggingface.co/settings/tokens
Required permission: **Inference** (read)
### 3. Run
```bash
python interview_coach.py
```
Open http://localhost:7860
---
## HuggingFace Spaces Deployment
1. Push this repo to your HF Space (Gradio SDK)
2. Go to **Settings β†’ Secrets** and add `HF_TOKEN` = your token
3. The app starts automatically β€” no other changes needed
---
## Architecture
```
interview_coach.py ← Gradio UI (pure layout + event wiring)
engine.py ← Orchestration (LLM client, session, PDF)
config.py ← All constants, CSS design system
agents/
validator.py ← 3-stage JD validation + profile extraction
question_gen.py ← Adaptive question generation
scorer.py ← Keyword-aware answer scoring (Agenda #4)
```
---
## Model
- **Model:** `Qwen/Qwen2.5-7B-Instruct`
- **Parameters:** 7B (within HF Hackathon ≀32B limit)
- **Inference:** HuggingFace Serverless Inference API (free tier)
- **Local fallback:** Ollama (`mistral:7b`) if no HF token is set
---
## Scoring System
| Score | Meaning |
|-------|---------|
| 8–10 | Excellent β€” strong STAR structure + good keyword coverage |
| 5–7 | Good β€” missing key terms or depth |
| 1–4 | Needs work β€” expand and use role-specific language |
| NIL | Irrelevant response |
**Keyword Coverage Rule:** < 40% of expected keywords β†’ score capped at 5/10.