Many students practice LeetCode problems but struggle to explain their thought process clearly in technical interviews.
InterPrep bridges this gap by providing a voice-interactive platform that simulates real interview conditions, helping you practice both coding and verbal communication skills.
https://interprep-code.streamlit.app/
-
(via faster-whisper) - optimized OpenAI's Whisper for Automatic speech recognition (ASR) - audio transcription
git clone https://github.com/ishratarshad/InterPrep.git
cd InterPreppython -m venv venv
# Windows
venv\Scripts\activate
# macOS/Linux
source venv/bin/activatepip install -r requirements.txtCreate .streamlit/secrets.toml and add Gemini API key
GEMINI_API_KEY=your_gemini_api_key_here
streamlit run app.pyThe app will open in your browser at http://localhost:8501
InterPrep/
├── app.py # Main application entry point
├── pages/
│ ├── home.py # Landing page with practice preview
│ ├── about.py # About page with project info
│ ├── rubric.py # Evaluation rubric & grading scheme
│ ├── select_criteria.py # Problem filter selection
│ ├── interview.py # Code editor + audio recording
│ ├── results.py # Evaluation and feedback display
│ └── dashboard.py # Leetcode study plan recommender
├── backend/
│ ├── api.py # Gemini API endpoints for AI analysis
│ ├── transcription.py # Whisper (faster-whisper) integration
│ ├── leetcode_dataset.csv # Leetcode question bank
│ └── leetcode_manager.py # Problem filtering logic
├── evaluation/ # Rubric and grading documentation
├── code/ # stores user's code solution; generated upon run-through of code
├── audio/ # stores user's audio clip; generated upon run-through of code
├── transcript/ # stores user's audio transcript; generated upon run-through of code
├── shared/
│ └── navbar.py # Navigation component
├── .streamlit/
│ ├── config.toml # Shared styles and constants
│ └── secrets.toml # stores environment variables
├── .env # stores environment variables
├── globals.py # Shared styles and constants
├── globals.css # Shared styles and fonts
└── requirements.txt
- Voice-Interactive Practice – Record explanations of your solutions using Whisper AI for automatic transcription
- Multi-Language Code Editor – Write solutions in Python, JavaScript, C++, Java, Go, PHP, Swift, or TypeScript
- Problem Filtering – Select problems by difficulty (Easy, Medium, Hard) and algorithm type
- AI-Powered Feedback – Get evaluated on problem identification, complexity analysis, and explanation clarity using Gemini AI
- Leetcode Problem Recommender – Monitor your performance over time through an interactive dashboard
- Arrays & HashMaps
- Two Pointers & Sliding Window
- Binary Search
- Linked Lists
- Trees & Graphs
- Heaps & Priority Queues
- Dynamic Programming
- Backtracking
Choose your criteria for problem difficulty and algorithm types to get a curated question
- Write your solution in the integrated code editor
- Record your verbal explanation answering the evaluation criteria
- Audio is automatically transcribed using faster-whisper (an optimized Whisper ASR tool)
Receive AI-generated evaluation on:
- Problem Identification (35 pts) – Pattern recognition, understanding, approach selection
- Complexity Analysis (35 pts) – Time/space complexity correctness
- Clarity of Explanation (30 pts) – Structure, technical communication, completeness
Find more Leetcode questions to practice.
LeetCode Problem Dataset from Kaggle
- 1800+ curated problems across 10+ categories
- Includes problem statements, difficulty levels, and metadata
The system evaluates explanations on a 100-point scale:
| Score Range | Level | Description |
|---|---|---|
| 90-100 | Excellent | Outstanding performance, fully meets expectations |
| 75-89 | Good | Slight improvements possible |
| 60-74 | Satisfactory | Acceptable with some gaps |
| 40-59 | Needs Improvement | Significant issues to address |
| < 40 | Poor | Fails to meet basic criteria |
See evaluation/rubric.md for detailed scoring criteria.
- Code execution and runtime validation
- Multi-turn dialogues with adaptive hints
- Retrieval of similar problems using embeddings
- Account and progress tracking
- Social features (leaderboards, peer comparison)
Receive AI-generated evaluation on:
- Communication skill development
- Provides a structured and adaptive roadmap for technical interview preparation
- Improves both problem-solving performance and explanation clarity
- Helps students prepare more effectively and gain confidence in real interviews
This project is open source and available under the MIT License.




