An AI-powered, voice-enabled mock interview system that simulates real interview scenarios, evaluates responses using structured rubrics, and provides actionable feedback to improve clarity, structure, and confidence.
Built using Streamlit + Hugging Face Inference API + gTTS.
AI Interview Coach helps candidates practice interviews in a realistic, improvement-driven environment.
Instead of giving generic feedback like:
“Good answer.”
The system provides:
-
🧠 AI-generated evaluation
-
🔍 Missing quantification detection
-
💡 Clear improvement suggestions
-
🎙 Voice-based question delivery
Interview-Coach/
│
├── core/
│ ├── audio_handler.py # Handles text-to-speech (gTTS)
│ ├── interview_engine.py # AI interview logic (Hugging Face)
│ ├── resume_processor.py # Resume parsing & analysis
│
├── data/
│ └── rubrics.json # Evaluation scoring criteria
│
├── ui/
│ ├── app.py # Streamlit frontend
│ └── .env # Environment variables (Hugging Face API key)
│
├── requirements.txt # Project dependencies
└── .gitignore # Ignored files
-
Controls interview flow
-
Sends prompts to Hugging Face model
-
Evaluates responses
-
Applies rubric-based scoring
-
Extracts resume text (PDF processing)
-
Helps personalize interview questions
-
Converts text to speech using Google Text-to-Speech
-
Embeds audio directly into Streamlit using Base64 HTML
The system uses gTTS for text-to-speech.
-
Text → gTTS
-
Audio stored in memory (BytesIO)
-
Converted to Base64
-
Embedded inside
tag
-
Playback speed controlled via JavaScript
Advantages:
-
No ffmpeg dependency
-
No temp files
-
Lightweight
-
Streamlit Cloud compatible
The system uses Hugging Face Inference API via:
from huggingface_hub import InferenceClientModel inference runs via cloud API using a secure token stored in .env.
Your .env file must be placed inside:
Interview-Coach/ui/.env
HF_TOKEN=your_huggingface_token_hereThe rubric evaluates responses based on:
-
Clarity
-
Logical structure
-
Relevance
-
Use of measurable outcomes
-
Technical explanation quality
-
Action-oriented storytelling
This ensures structured, consistent scoring.
-
🎙 AI-generated interview questions
-
🧠 Hugging Face-powered evaluation
-
📄 Resume-based personalization
-
🔊 Text-to-speech feedback
-
💡 Structured improvement suggestions
-
⚡ Lightweight deployment-ready architecture
-
Frontend: Streamlit
-
Backend Logic: Python
-
AI Model: Hugging Face Inference API
-
Text-to-Speech: gTTS
-
Environment Handling: python-dotenv
git clone https://github.com/EduLinkUp/Interview-Coach.gitcd Interview-Coachpython -m venv venvActivate:
venv\Scripts\activatesource venv/bin/activatepip install -r requirements.txtCreate:
ui/.envAdd:
HF_TOKEN=your_token_hereFrom project root:
streamlit run ui/app.py
The app will open in your browser.
-
Campus placement preparation
-
Software engineering interviews
-
HR round practice
-
Behavioral interview improvement
-
Self-paced structured answer training
-
Real-time speech-to-text input
-
Interview performance analysis
-
Follow-up question generation
Aravapalli Karunya