A complete AI-powered interview evaluation platform built with Flask, featuring semantic verbal scoring, real-time face proctoring, role-specific MCQs, and automated PDF performance reports.
| Module | Technology |
|---|---|
| Candidate Registration | Flask + SQLite, secure PDF resume upload |
| Technical MCQ Round | CSV-driven, role-specific, 6/10 progression gate |
| Verbal AI Interview | Web Speech API + SentenceTransformer (cosine similarity) |
| Face Proctoring | OpenCV Haar Cascade, webcam snapshot every 5s |
| Admin Dashboard | Secure portal, candidate search, FPDF2 PDF reports |
| Buddy Persona | Warm, empathetic AI guide between questions |
# 1. Clone the repo
git clone https://github.com/<your-username>/buddy-ai-interview.git
cd buddy-ai-interview
# 2. Create a virtual environment
python -m venv venv
venv\Scripts\activate # Windows
# source venv/bin/activate # Mac/Linux
# 3. Install dependencies
pip install -r requirements.txt
# 4. Run the app
python app.py
# Open http://localhost:5000
http://localhost:5000 → Start Interviewhttp://localhost:5000/admin/loginadmin / admin123├── app.py Flask application factory
├── config.py Configuration (roles, paths, auth)
├── models.py SQLAlchemy models (Candidate, MCQResult, VerbalResult, FaceAlert)
├── questions.csv 45 MCQs (15 × 3 roles)
├── verbal_questions.json 15 verbal questions + ideal answers
├── routes/
│ ├── candidate.py Registration, MCQ, Verbal, Results
│ ├── admin.py Dashboard, candidate detail, PDF downloads
│ └── api.py /api/verbal/score, /api/face/check
├── services/
│ ├── scorer.py SentenceTransformer semantic scoring
│ ├── face_check.py OpenCV face detection
│ └── pdf_report.py FPDF2 report generation
├── templates/ 9 Jinja2 HTML templates
└── static/
├── css/style.css Dark premium design system
└── js/ MCQ controller, Verbal + Buddy flow, Face monitor
sentence-transformers (paraphrase-MiniLM-L6-v2), scikit-learnopencv-python (Haar Cascade face detection)fpdf2The SentenceTransformer model (~80 MB) downloads automatically on the first verbal scoring call. Web Speech API works best in Chrome/Edge with a working microphone. Candidates can also type answers directly if voice is unavailable.
MIT