A command-line interface tool for managing job candidates, scheduling interviews, and leveraging AI for candidate analysis.
- Add candidates with name, age, and resume (PDF)
- Process candidates using AI analysis
- Extract text from PDF resumes
- Generate dummy candidate data for testing
- Manage application settings
- Store candidate information in a CSV database
- To add a candidate:
python index.py add --name "John Doe" --age 30 --resume "path/to/resume.pdf"- To process the next candidate:
python index.py process- To view current settings:
python index.py show_settings- To generate dummy candidate data:
python index.py fill_dummyor specify the number of dummy candidates:
python index.py fill_dummy --num 20The tool uses Google's Gemini AI to analyze candidate information, including the content of their PDF resumes:
- When a candidate is added, their PDF resume is processed and the text is extracted.
- During the
processaction, the AI analyzes the candidate's information, including the extracted resume text. - The AI provides:
- A summary of the candidate's key qualities (5 bullet points)
- A hireability score on a scale of 1-10
- Three other potential roles the candidate might be suitable for
This integration allows for a more comprehensive analysis of each candidate based on their actual resume content.
Candidate information is stored in a candidates.csv file, which includes:
- Name
- Age
- Path to the resume PDF
- Hireability score (after processing)
- Other potential roles (after processing)
The actual resume text is extracted when needed but not stored in the CSV to keep the file size manageable.
The tool uses a settings.json file and environment variables for configuration. Ensure you have set up your Gemini API key in the settings or as an environment variable.
-
Clone the repository
-
Install the required dependencies:
pip install -r requirements.txt
-
Set up your Gemini API key in
settings.jsonor as an environment variable -
Prepare some PDF resumes for testing (or use the
fill_dummycommand to generate sample data) -
Run the tool using the commands described in the Usage section
Make sure you have the necessary permissions to read the PDF files you're using with this tool. The resume extraction feature supports text-based PDFs; scanned documents may not work correctly.