This is a submission for the Hacktoberfest Weekend Challenge: Build for a Friend
What I Built
I built InterviewMate, an AI-powered mock interview assistant for students preparing for placements and internships.
I built it for a friend who was struggling with interview preparation. They could study technical concepts and solve coding problems, but practicing an actual interview was difficult. They needed a way to practice answering questions, speaking clearly, and getting feedback without depending on another person every time.
InterviewMate simulates a real interview. Users can upload their resume, select their target role and technical topics, and start a timed mock interview. The AI asks questions based on their resume and selected topics, and users can answer by typing or speaking.
For spoken answers, Whisper converts speech into text, and the AI evaluates the answer by giving a technical score, clarity score, missing points, improvement suggestions, and a better answer.
The main problem I wanted to solve was simple: students don't just need to know the answer β they need to practice explaining it like they would in a real interview.
InterviewMate gives them a place to practice repeatedly, receive immediate feedback, and become more confident before facing a real interview.
Demo
π Live Demo: https://interviewmateirawsemos.streamlit.app
You can try the complete AI mock interview experience, including resume-based questions, voice or text answers, AI evaluation, scoring, and the final performance report.
Code
someswari1824
/
InterviewMate
AI-powered real-time mock interview assistant for students.
InterviewMate
A realistic local AI mock interview app using Streamlit, Ollama/Llama 3.2, Whisper and live camera recording (WebM).
Flow
- Enter candidate details and upload resume.
- Select interview topics and total interview duration.
- Start the interview.
- Live camera + audio recording runs during the interview.
- AI asks a question and reads it aloud using browser speech.
- Candidate answers by typing or voice.
- AI evaluates the answer.
- The next question starts automatically. There is no per-question timer.
- This continues until the overall interview timer reaches zero.
- Interview results and recording are available after the interview.
Run
VS Code Terminal
pip install -r requirements.txt
streamlit run app.py
Allow camera and microphone permissions in the browser.
Camera recording
The WebRTC camera records video + microphone audio to a local WebM file while the interview runs. Click START in the camera component when the interview begins and STOP when the interview ends to finalize theβ¦
How I Built It
I built InterviewMate using Python and Streamlit, with an open-weight Llama model as the core AI component.
For local development, I used Llama 3.2 3B through Ollama. This allowed me to run the AI locally without depending on a paid API during development.
The AI is used throughout the interview process:
Resume Analysis
The candidate uploads a PDF resume. I extract the text using PyPDF and send the relevant information to the AI to identify skills, projects, and interview topics.Question Generation
The AI generates interview questions based on the candidate's resume, target role, selected topics, and previous questions. This makes the interview personalized instead of using a fixed list of questions.Voice Answers
Candidates can answer using their microphone. Whisper, an open-source speech recognition model, converts their speech into text.Answer Evaluation
The AI evaluates every answer and provides a score, clarity score, correct points, missing concepts, improvement suggestions, and a better interview-ready answer.
The main idea was to make AI the actual interviewer and evaluator, rather than simply adding an AI chatbot to the project. The resume, questions, answers, feedback, and final performance report are all connected through the AI-powered interview workflow.
Why Does Open Innovation Matter?
Open innovation made it possible for me to experiment with AI more freely while building InterviewMate.
Using an open-weight model through Ollama allowed me to run Llama 3.2 3B locally during development. I could experiment with prompts, question generation, resume analysis, and answer evaluation without depending completely on a closed API.
It also helped me understand how the AI actually works as part of the application instead of treating it as a black box.
Open-source tools such as Llama, Ollama, and Whisper made it possible to combine local AI inference, speech recognition, and a custom interview workflow into one project.
For the deployed version, I use Groq so that InterviewMate can run online while still keeping the local open-weight AI workflow for development.
images
Project Flow
ββββββββββββββββββββββββ
β START INTERVIEW β
ββββββββββββ¬ββββββββββββ
β
ββββββββββββββββββββββββ
β AI Generates β
β Interview Question β
β β
β Resume + Role + β
β Selected Topics β
ββββββββββββ¬ββββββββββββ
β
ββββββββββββββββββββββββ
β Candidate Answers β
β β
β Text OR Voice β
ββββββββββββ¬ββββββββββββ
β
βββββββββββββββββ
β Voice? β
βββββββββ¬ββββββββ
β
Yes β
ββββββββββββββββββββββββ
β Whisper β
β Speech β Text β
ββββββββββββ¬ββββββββββββ
β
β
ββββββββββββββββββββββββ
β AI Evaluates Answer β
β β
β Score + Clarity β
β Correct + Missing β
β Improvement β
β Better Answer β
ββββββββββββ¬ββββββββββββ
β
ββββββββββββββββββββββββ
β Check Overall Timer β
ββββββββββββ¬ββββββββββββ
β
βββββββββββββββββ
β Time Remains? β
ββββββββ¬ββββ¬βββββ
YES β β NO
β β
β β
ββββββββββββββββββ βββββββββββββββββββββββ
β Generate Next β β FINAL PERFORMANCE β
β Question β β REPORT β
β β β β
β Avoid Previous β β Technical Score β
β Questions β β Clarity Score β
βββββββββ¬βββββββββ β Overall Score β
β β Questions Completed β
β β Skipped Questions β
β βββββββββββββββββββββββ
β
βββββββββββββββββ
β
AI Generates Next Question
β
ββββ LOOP
Prize Categories
- AI
- Open Source
- Developer Tools
- Education
Thanks for checking out InterviewMate! π

Top comments (0)