Mockingbird is an AI-powered interview preparation platform designed to help developers practice both behavioral and technical interview questions in a realistic, interactive environment. By leveraging Google's Gemini 1.5 Flash for intelligence and ElevenLabs for life-like voice interactions, Mockingbird provides a seamless, conversational experience that mimics a real-world technical interview.
- Dynamic Question Generation: Mockingbird parses job descriptions from URLs or text and generates tailored interview questions using Gemini.
- Realistic Voice Interaction: Uses ElevenLabs TTS (Text-to-Speech) and STT (Speech-to-Text) to conduct the interview verbally.
- Technical Coding Environment: Integrated code editor with Pyodide for client-side execution, allowing users to write and run Python code while explaining their logic.
- Intelligent Scoring & Feedback: Provides a comprehensive breakdown of interview performance, including scores for skill alignment, semantic relevance, structure, and delivery.
- Natural Transitions: An AI "interviewer" provides conversational transitions between questions to keep the session engaging.
- HTML5/CSS3: Minimalist, glassmorphism UI.
- JavaScript (Vanilla): Core logic for audio management, state transitions, and API communication.
- CodeMirror: Professional code editor for the technical portion of the interview.
- Pyodide: Enables running Python code directly in the browser.
- Web Speech API: For client-side interim speech-to-text processing.
- FastAPI (Python): Robust and high-performance API backend.
- Google Gemini 1.5 Flash: Used for question generation, technical evaluation, and scoring.
- ElevenLabs API: Powers the "voice" of the interviewer with high-fidelity speech synthesis.
- Sentence Transformers: Used for semantic analysis of interview answers.
- Python 3.10+
- An ElevenLabs API Key
- An OpenRouter (or Google Gemini) API Key
-
Clone the repository:
git clone [https://github.com/benjaminburnell/mockingbird.git](https://github.com/benjaminburnell/mockingbird.git) cd mockingbird -
Setup the Backend:
cd backend python -m venv venv source venv/bin/activate # On Windows: venv\Scripts\activate pip install -r requirements.txt
-
Configure Environment Variables: Create a
.envfile in thebackend/directory:OPENROUTER_API_KEY=your_key_here ELEVEN_API_KEY=your_key_here VOICE_ID=your_preferred_voice_id
-
Run the Backend:
python main.py
-
Open the Frontend: Simply open
index.htmlin your browser.
- Paste a Job Description: Provide a link or text for the role you're practicing for.
- Speak with the AI: The AI will ask you behavioral questions. Tap the microphone to answer.
- Solve Technical Challenges: When prompted, use the coding modal to write and test your Python solution.
- Review Results: At the end of the session, receive detailed feedback on your answers.
Distributed under the MIT License. See LICENSE.txt for more information.
- Benjamin Burnell
- Daknguyen Nguyen
- Graeme Lamain
- Arshiya Shahbazpourtazehkande
Mockingbird: Mastering the art of the interview, one conversation at a time.