An intelligent interview preparation tool that generates tailored candidate summaries and technical interview questions using AI. Built with LangChain, OpenAI GPT-4, FastAPI, and Streamlit.
Caution
Please start the backend server by going to the backend URL: https://ai-interview-copilot-backend.onrender.com/
Itβs using the free tier, so it spins down after a few minutes of inactivity. Sorry for the inconvenience.
- Extract and analyze resume content from PDF/TXT files.
- AI-generated summaries highlighting relevant skills, experience, and alignment with job descriptions.
- Generate role-specific technical questions focusing on:
- Deep technical concepts and implementations.
- Problem-solving scenarios.
- System design challenges.
- Debugging and optimization skills.
- Conduct a voice interview using AI.
- Record answers and save transcripts for review.
- Evaluate the candidate on the basis of the answers he gave in the interview
- Frontend: AI Interview Assistant Frontend
- Backend: AI Interview Assistant Backend
- Ensure the backend URL is correct and the server is running. You may have to start the backend server by going to the backend url as currently its using free servive so it spins down after few minutes of inactivity.
| Component | Technology |
|---|---|
| Backend | FastAPI + Python 3.12 |
| AI/ML | LangChain + OpenAI GPT-4 |
| Frontend | Streamlit |
| PDF Processing | PyMuPDF (fitz) |
| HTTP Client | Requests |
| Environment | python-dotenv |
git clone https://github.com/yourusername/ai-interview-assistant.git
cd ai-interview-assistantpip install -r requirements.txtCreate a .env file in the root directory and add your OpenAI API key:
OPENAI_API_KEY=your_openai_api_key
cd backend
python main.pyβ
Backend will run on http://localhost:8000
cd frontend
streamlit run app.pyβ
Frontend will open at http://localhost:8501
- Upload a candidate's resume (PDF or TXT).
- Paste the job description.
- Click "Generate Summary" to get:
- A detailed candidate summary.
- Skills gap analysis.
- Select the interview type (e.g., Technical, HR/Behavioral, etc.).
- Click "Generate Questions" to get tailored interview questions.
- Conduct a voice interview using AI.
- Record answers and save transcripts for review.
- Evaluate the candidate on the basis of the answers he gave in the interview
AI-Interview-copilot/
βββ backend/
β βββ chains/
β β βββ question_generator.py # Generates interview questions
β β βββ summary_generator.py # Generates candidate summaries
β β βββ __init__.py
β βββ models.py # Pydantic models for API responses
β βββ main.py # FastAPI backend
β βββ __init__.py
βββ frontend/
β βββ app.py # Streamlit frontend
β βββ config.py # Configuration for frontend
β βββ utils.py # Utility functions for frontend
β βββ interview_types.txt # List of interview types
β βββ interview_transcript.txt # Stores interview transcripts
β βββ __init__.py
βββ requirements.txt # Python dependencies
βββ README.md # Project documentation
βββ .env # Environment variables
βββ .gitignore # Git ignore file
Add the following to your .env file:
OPENAI_API_KEY=your_openai_api_key
The frontend/config.py file contains:
API_BASE_URL = "https://ai-interview-copilot-backend.onrender.com/" # Deployed backend URL
INTERVIEW_TYPES_FILE = "interview_types.txt" # File for interview types
TRANSCRIPT_FILE = "interview_transcript.txt" # File for saving transcripts
RESUME_TYPES = ["pdf", "txt"] # Supported resume file typesError: OPENAI_API_KEY not found or is invalid
Solution: Ensure the api key is valid
Cannot connect to backend server
Solution: Ensure the backend URL is correct and the server is running. You may have to start the backend server by going to the backend url as currently its using free servive so it spins down after few minutes of inactivity.
Error: Interview type file not found
Solution: Ensure interview_types.txt exists in the frontend directory.