AI-INTERVIEWER is an interactive AI-powered tool that simulates a job interview process. It analyzes a candidate's resume and a job description, identifies key skills and overlaps, and conducts a structured, voice-enabled interview using advanced language models and speech recognition. The app provides both a web interface (via Streamlit) and a command-line/voice interface.
- Upload and parse resume (PDF/TXT) and job description (PDF/TXT/DOCX)
- Extract and summarize key skills from both documents
- Rank and match top skills between candidate and job
- Conduct a live, voice-based interview with AI-generated questions
- Transcribe and analyze candidate responses
- Download summaries and skill-match results
- Modern, interactive UI with Streamlit
- Python 3.8+
- ffmpeg (required for Whisper speech recognition)
Install all required packages with pip:
pip install streamlit openai openai-whisper elevenlabs pdfminer.six spacy wordfreq python-docx sounddevice scipy numpy pydantic python-dotenv- You may also need to install the spaCy English model:
python -m spacy download en_core_web_sm
- For Whisper, ensure ffmpeg is installed and available in your PATH.
- For ElevenLabs TTS, you need an ElevenLabs API key.
Create a .env file in the project root with your API keys:
OPENAI_API_KEY=your_openai_api_key
ELEVEN_API_KEY=your_elevenlabs_api_key
Run the Streamlit app:
streamlit run app.py- Upload your résumé and job description files as prompted.
- Use the sidebar to start/stop a live voice interview.
- View parsed skills, summaries, and skill overlap.
- Download results as JSON.
Run the voice-interview agent directly:
python agent_avatar.py- Follow the prompts to record and transcribe your answers.
Contributions are welcome! Please open issues or submit pull requests for improvements, bug fixes, or new features.
This project is licensed under the MIT License. See the LICENSE file for details.