Your AI-powered mock interview coach.
Upload your resume, paste the job description, and practice with a realistic AI interviewer - powered by Google Gemini, OpenAI Whisper, and ElevenLabs.
Built for the CXC 2026 - AI Hackathon, powered by Tangerine.
| Link | Description |
|---|---|
| Live App (Streamlit Cloud) | Try Prepy.ai right now |
| Devpost Submission | Hackathon project page |
| GitHub Repository | Source code |
Demo Video: Coming soon - a walkthrough video will be linked here.
Preparing for job interviews can be stressful, especially without access to a practice partner who can simulate realistic interview scenarios. Traditional mock interviews require scheduling with friends, mentors, or career coaches - and even then, the feedback is often inconsistent and subjective.
Prepy.ai is an AI-powered mock interview tool that gives anyone instant access to a personalized, realistic interview experience. Simply upload your resume and paste the job description - the AI interviewer asks tailored questions, listens to your answers (via voice or text), and provides a detailed performance report with actionable feedback.
| Feature | Description |
|---|---|
| AI Interviewer | Powered by Google Gemini - asks realistic, role-specific questions based on your resume and job description |
| Voice Answers | Record your answers using your microphone; Whisper (OpenAI) transcribes them automatically |
| Interviewer Voice | Hear the interviewer speak using ElevenLabs text-to-speech for a lifelike experience |
| Detailed Feedback | Get a comprehensive performance report with strengths, weaknesses, and improvement tips |
| Resume Analysis | Upload your PDF resume and the AI tailors questions to your specific experience and skills |
| Custom Interviewer | Name your interviewer and customize the experience (default: Stacy) |
| Configurable Sessions | Choose the number of interview questions (1-20) |
- Upload - Upload your resume (PDF) and paste the job description
- Configure - Set the interviewer name and number of questions
- Practice - Answer questions via text or voice recording
- Get Feedback - Receive a detailed performance report from the AI
| Technology | Purpose |
|---|---|
| Streamlit | Web application framework |
| Google Gemini (gemini-2.5-flash) | AI-powered interview Q&A and feedback generation |
| OpenAI Whisper | Speech-to-text for voice answer transcription |
| ElevenLabs | Text-to-speech for interviewer voice |
| PyTorch | ML framework (CPU) for running Whisper |
| pdfplumber | PDF text extraction from resumes |
| pypdfium2 | PDF page rendering as images |
| librosa | Audio processing for voice recordings |
interview-preparation/
├── app.py # Main Streamlit application
├── styles.py # CSS, HTML templates, home page content
├── .streamlit/
│ └── config.toml # Streamlit theme configuration
├── backend/
│ ├── __init__.py
│ ├── pdf_reader.py # PDF text extraction
│ ├── models/
│ │ ├── gemini_model.py # Google Gemini AI for interview Q&A and feedback
│ │ └── audio_tts.py # ElevenLabs text-to-speech
│ └── prompts/
│ ├── interviewer.txt # System prompt for interview mode
│ └── evaluation.txt # System prompt for feedback/evaluation mode
├── requirements.txt # Python dependencies
├── .python-version # Python version (3.11)
└── README.md
- Python 3.11+
- A Google AI API key (for Gemini)
- An ElevenLabs API key (for text-to-speech)
-
Clone the repository
git clone https://github.com/Nafisatibrahim/interview-preparation.git cd interview-preparation -
Install dependencies
pip install -r requirements.txt
-
Set up environment variables
Create a
.envfile or set the following environment variables:GOOGLE_API_KEY=your_google_api_key ELEVENLABS_API_KEY=your_elevenlabs_api_keyOn Streamlit Cloud, add these as secrets in your app settings.
-
Run the application
streamlit run app.py --server.port=5000 --server.address=0.0.0.0
-
Open your browser and navigate to
http://localhost:5000
- Multiple interview types (behavioral, technical, case study)
- Save and review past interview sessions
- Progress tracking across multiple practice sessions
- Video recording and body language analysis
- Industry-specific question banks
- Multi-language support
Built by students at the University of Waterloo.
MMath in Data Science
Exchange Student
This project was built for the CXC 2026 - AI Hackathon, powered by Tangerine.
CXC is Canada's largest student-run technology conference, hosted at the University of Waterloo. The AI Hackathon challenges participants to build innovative solutions using artificial intelligence.
This project is open source. See the repository for license details.
Made with care at the University of Waterloo