Skip to content

EduLinkUp/Interview-Coach

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🎤 AI Interview Coach

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.

🚀 Overview

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

🏗 Project Structure

📁 Project Structure

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

🧠 Core Modules

🔹 interview\core\interview_engine.py

  • Controls interview flow

  • Sends prompts to Hugging Face model

  • Evaluates responses

  • Applies rubric-based scoring

🔹 interview\core\resume_processor.py

  • Extracts resume text (PDF processing)

  • Helps personalize interview questions

🔹 interview\core\audio_handler.py

  • Converts text to speech using Google Text-to-Speech

  • Embeds audio directly into Streamlit using Base64 HTML

🔊 Voice System

The system uses gTTS for text-to-speech.

How It Works:

  1. Text → gTTS

  2. Audio stored in memory (BytesIO)

  3. Converted to Base64

  4. Embedded inside

    tag

  5. Playback speed controlled via JavaScript

Advantages:

  • No ffmpeg dependency

  • No temp files

  • Lightweight

  • Streamlit Cloud compatible

🤖 AI Model Integration

The system uses Hugging Face Inference API via:

from huggingface_hub import InferenceClient

Model inference runs via cloud API using a secure token stored in .env.

🔐 Environment Configuration (.env Placement)

📍 Important: .env File Location

Your .env file must be placed inside:

Interview-Coach/ui/.env

Example .env File

HF_TOKEN=your_huggingface_token_here

📊 Evaluation System

The rubric evaluates responses based on:

  • Clarity

  • Logical structure

  • Relevance

  • Use of measurable outcomes

  • Technical explanation quality

  • Action-oriented storytelling

This ensures structured, consistent scoring.

✨ Features

  • 🎙 AI-generated interview questions

  • 🧠 Hugging Face-powered evaluation

  • 📄 Resume-based personalization

  • 🔊 Text-to-speech feedback

  • 💡 Structured improvement suggestions

  • ⚡ Lightweight deployment-ready architecture

🛠 Tech Stack

  • Frontend: Streamlit

  • Backend Logic: Python

  • AI Model: Hugging Face Inference API

  • Text-to-Speech: gTTS

  • Environment Handling: python-dotenv

⚙️ Installation Guide

1️⃣ Clone Repository

git clone https://github.com/EduLinkUp/Interview-Coach.gitcd Interview-Coach

2️⃣ Create Virtual Environment

python -m venv venv

Activate:

Windows

venv\Scripts\activate

Mac/Linux

source venv/bin/activate

3️⃣ Install Dependencies

pip install -r requirements.txt

4️⃣ Add .env File

Create:

ui/.env

Add:

HF_TOKEN=your_token_here

5️⃣ Run Application

From project root:

streamlit run ui/app.py

The app will open in your browser.

🎯 Use Cases

  • Campus placement preparation

  • Software engineering interviews

  • HR round practice

  • Behavioral interview improvement

  • Self-paced structured answer training

🚀 Future Improvements

  • Real-time speech-to-text input

  • Interview performance analysis

  • Follow-up question generation

👨‍💻 Author

Aravapalli Karunya

About

AI Interview Coach is a voice-enabled intelligent mock interview system that simulates real interview scenarios, analyzes responses, and provides structured, improvement-focused feedback using AI. It evaluates clarity, confidence, structure, and impact — helping candidates refine their answers and build interview confidence.

Resources

Stars

Watchers

Forks

Releases

No releases published

Sponsor this project

Packages

 
 
 

Contributors

Languages