Overview
This guide walks you through installing Interview Simulator, configuring your AI provider, and running your first mock interview session.You’ll need Python 3.11+ and an API key from Google Gemini or OpenRouter to use the interview features.
Installation
Install dependencies
Install all required packages:Key dependencies include:
flask==3.1.2- Web frameworkgoogle-genai==1.49.0- Gemini AI integrationpdfplumber==0.11.8- PDF document parsingpython-docx==1.2.0- Word document supporttenacity==9.1.2- Retry logic for API calls
Run the application
Start the Flask development server:http://127.0.0.1:5000 to access the application.
Your first interview
Create a session
On the homepage, enter the details for your target role:
- Job title: e.g., “Senior Software Engineer”
- Company name: e.g., “TechCorp”
Upload documents
You’ll be redirected to the upload page:Upload your CV: Choose a PDF, DOCX, or TXT file containing your resume.Paste job description: Copy the full job posting into the text area.Click Continue when both documents are uploaded.
Start the interview
The AI generates your first question based on your CV and the job description:You’ll see a conversational interface with:
- The AI’s question
- A text area for your response
- Progress indicator (e.g., “Question 1 of 8”)
Answer questions
Type your response and click Submit. The AI generates follow-up questions based on:The interview continues for up to 8 questions, adapting to your responses.
- Your previous answers
- Your CV content
- The job requirements
Review feedback
After the final question, click Complete Interview to generate your feedback report.You’ll receive:Performance score: Numerical rating from 1-10Strengths: Positive aspects of your interview performanceAreas to improve: Specific suggestions with examplesCV optimization: Recommendations to tailor your resume for this role
All feedback is stored in the database, so you can review past sessions anytime.
Understanding the interview flow
The interview uses a maximum of 8 questions defined in theInterviewService:
Resume incomplete sessions
All interview data persists in the SQLite database. If you close the browser mid-interview:- Return to the homepage
- Find your session in the recent sessions list
- Click Continue to resume where you left off
Next steps
Installation guide
Learn about Docker deployment and production configuration
Architecture
Understand the service layer and AI provider pattern
API reference
Explore the REST endpoints and data models
Contributing
Help improve Interview Simulator
Troubleshooting
API key errors
If you see “AI provider not configured” errors:- Verify your
.envfile contains valid API keys - Check that
ACTIVE_PROVIDERSincludes your configured provider - Restart the Flask server after editing
.env
Database errors
If you encounter database initialization issues:Document parsing errors
If CV upload fails:- Ensure the file is a valid PDF, DOCX, or TXT
- Check file size is under 16MB (default limit)
- Try re-saving the document to fix corruption