An AI-powered interview preparation platform that generates personalized interview questions based on your resume and job description, then provides detailed feedback on your performance.
- Personalized Question Generation: Uses Claude AI to generate relevant interview questions based on your resume and the target job description
- Interactive Interview Interface: Clean, user-friendly interface to practice answering questions
- Comprehensive Grading: Receive detailed feedback on each answer including:
- Overall score (0-100)
- Question-by-question analysis
- Identified strengths
- Areas for improvement
- Data Persistence: All interview sessions and answers are saved to a database
- Frontend: Vanilla HTML, CSS, JavaScript
- Backend: Python Flask
- Database: SQLite (via SQLAlchemy)
- AI: Claude API (Anthropic)
claude_hacks/
├── backend/
│ ├── app.py # Flask application and API endpoints
│ ├── models.py # Database models
│ └── claude_service.py # Claude API integration
├── frontend/
│ ├── index.html # Main HTML file
│ ├── styles.css # Styling
│ └── app.js # Frontend logic
├── requirements.txt # Python dependencies
├── .env.example # Environment variables template
├── .gitignore # Git ignore rules
└── README.md # This file
- Python 3.8 or higher
- Claude API key from Anthropic
cd /Users/akhilivaturi/dev/claude_hacksCreate a .env file in the root directory:
cp .env.example .envEdit .env and add your API key:
ANTHROPIC_API_KEY=your_actual_api_key_here
FLASK_SECRET_KEY=your_random_secret_key
DATABASE_URL=sqlite:///interview_prep.db
python -m venv venv
# On macOS/Linux:
source venv/bin/activate
# On Windows:
venv\Scripts\activatepip install -r requirements.txtcd backend
python app.pyThe backend will start on http://localhost:5000
In a new terminal, serve the frontend (you can use Python's built-in HTTP server):
cd frontend
python -m http.server 8000Then open your browser and navigate to:
http://localhost:8000
- Paste your resume in the "Your Resume" field
- Paste the target job description in the "Job Description" field
- Select the number of questions you want (3, 5, 7, or 10)
- Click "Generate Interview Questions"
The AI will analyze your resume and the job description to create personalized questions.
- Read each question carefully
- Type your answer in the text area
- Click "Save & Next" to move to the next question
- Use "Previous" if you want to review or edit earlier answers
- Click "Submit Interview" after answering all questions
You'll receive:
- An overall score out of 100
- Detailed feedback on each answer
- Your identified strengths
- Specific areas for improvement
Click "Start New Interview" to practice again!
Health check endpoint
Create a new interview session and generate questions
Request Body:
{
"resume": "Your resume text...",
"job_description": "Job description text...",
"num_questions": 5
}Get interview session details
Submit an answer for a question
Request Body:
{
"session_id": 1,
"question_index": 0,
"question": "Question text",
"answer": "Your answer"
}Complete the interview and get grading
Request Body:
{
"session_id": 1
}id: Primary keyresume: User's resume textjob_description: Target job descriptionquestions_json: Generated questions (stored as JSON)status: Session status (active/completed)grade: Overall scorefeedback: Detailed feedback (stored as JSON)created_at: Timestamp
id: Primary keysession_id: Foreign key to InterviewSessionquestion_index: Question numberquestion: Question textanswer: User's answercreated_at: Timestamp
- Make sure you've installed all dependencies:
pip install -r requirements.txt - Check that your
.envfile exists and has a validANTHROPIC_API_KEY - Ensure port 5000 is not already in use
- Verify the backend is running on
http://localhost:5000 - Check browser console for CORS errors
- Ensure
flask-corsis installed
- Verify your Claude API key is valid
- Check backend logs for error messages
- Ensure you have sufficient API credits
- The database is created automatically on first run
- If you encounter issues, delete
interview_prep.dband restart the backend
- User authentication and profile management
- Interview history and progress tracking
- Mock video interviews with speech recognition
- Company-specific interview prep
- Practice with common algorithms and coding problems
- Export results as PDF
MIT License
For issues or questions, please create an issue in the repository.