A professional, state-of-the-art interactive mock interview simulator. This application leverages extremely fast open-weights LLMs via the Groq API and real-time audio manipulation to instantly deliver realistic, highly personalized mock interviews based on your specific resume!
- Interactive UI (Streamlit): Complete modern messaging-app layout mimicking a live chat with an expert HR Recruiter.
- Two Interview Modes: Toggle between Technical (evaluates deeply on architecture, languages, frameworks) or Behavioral/HR (evaluates on soft-skills and conflict resolution).
- Two-Way Audio Integration:
- Text-to-Speech (TTS): Fully integrated with Microsoft Edge's Neural TTS (
edge-tts). The AI physically speaks its questions out loud to you using a professional voice at a custom speed. - Speech-to-Text (STT): Built-in microphone support. Speak out your answers and the app instantly transcribes them using Groq's Whisper-Large-V3-Turbo model!
- Text-to-Speech (TTS): Fully integrated with Microsoft Edge's Neural TTS (
- Stateful Grading Loop: The AI dynamically processes your background, generates specific questions for you, listens to your answers in real time, grades them out of 10, and offers actionable resume-tailored feedback.
- Frontend Framework: Streamlit
- Core LLM Engine: LLaMA-3.3-70b-Versatile (via Groq SDK)
- Speech-to-Text: Whisper-Large-V3-Turbo (via Groq SDK)
- Text-to-Speech:
edge-tts(Microsoft Azure Neural TTS) - Document Processing:
pdfplumber,python-docx - Environment Management:
python-dotenv
- Clone the repository and ensure you have
uvorpipinstalled. - Install Dependencies (If using standard python):
pip install streamlit groq pdfplumber python-docx python-dotenv edge-tts gtts
- Configure Environment Variables:
Create a new file in the root folder specifically named
.envand paste your free Groq API key:GROQ_API_KEY=your-api-key-here
- Run the App!
Execute this command inside your terminal to launch the simulator in your browser:
streamlit run app.py
- Install Docker Desktop and make sure it is running.
- Create a
.envfile in the project root with your Groq API key:GROQ_API_KEY=your-api-key-here
- Build and start the app:
docker compose up --build
- Open http://localhost:8501 in your browser.
To stop it, press Ctrl+C. To run it in the background, use docker compose up --build -d; stop that instance later with docker compose down.
The .env file is supplied only when the container starts and is excluded from the image build context, so the API key is not baked into the image.
app.py: Handles Streamlit session states, constructs the interactive chat UI, and ties all backend functions together.prompt_generator.py: Interacts with Llama-3 using strict JSON schemas to generate custom technical/behavioral interview questions based solely on your resume background.interview_simulator.py: Acts as an AI grader that reviews your specific answer against the original question and determines what you missed.resume_parser.py: Robustly scrapes text arrays from your uploaded.pdfor.docxfile.audio_utils.py: Asynchronous helper class that handles high-speed Microsoft Neural text-to-speech rendering, and passes Streamlit audio captures into Groq's transcription algorithms.
This tool is strictly for professional development and educational practice. It does not predict real-life hiring outcomes.