Welcome to the Job Applications Enhancement Tool repository. This tool leverages CrewAI and various language models to help users optimize their job applications by suggesting improvements based on the job description.
- Job Analysis: Analyzes the job posting to extract key requirements and qualifications.
- Resume Optimization: Compares your comprehensive resume with the job description to highlight the most relevant points.
- Emphasis Strategy: Suggests words or phrases to emphasize in your resume to catch a recruiter's attention.
- Cover Letter Generation: Automatically generates a tailored cover letter based on your resume and the job description.
Follow these steps to set up and use the tool:
- Python 3.8 or higher
- Jupyter Notebook
You need API keys for the following services:
- OpenAI API: Used for certain language model tasks.
- Create an account and add credits here.
- Anthropic API: Used for Claude language model tasks.
- Sign up for Anthropic's API here.
- Google AI API: Used for Gemini language model tasks.
- Get started with Google AI Studio here.
- Serper API: Used for web scraping and search functionalities.
- Sign up at Serper.dev to get free 2000 queries.
For PDF generation, you'll need a LaTeX distribution installed on your system:
On Linux:
- Install TeX Live:
sudo apt-get install texlive-full
On macOS:
- Install MacTeX from the MacTeX website.
On Windows:
- Install MiKTeX from the MiKTeX website or TeX Live.
Ensure that LaTeX executables (like pdflatex
) are in your system's PATH
.
For advanced document handling, you may want to install Latexmk:
- It's included in most LaTeX distributions like TeX Live or MacTeX.
- On macOS, if not included, you can install via Homebrew:
brew install latexmk
- Clone this repository:
git clone https://github.com/yourusername/job-applications-enhancement-tool.git cd job-applications-enhancement-tool
- Install the required packages:
pip install -r requirements.txt
- Create a Super Resume: Ensure your resume includes all details about your professional history.
- Convert Your Resume to Markdown:
- If your resume is in PDF format, convert it using PDF to Markdown.
- If your resume is in LaTeX format, convert it using Pandoc.
- Add the Converted Resume: Name the file
resume.md
and add it to the project folder.
- Copy the
config.json.example
file toconfig.json
. - Add your API keys to the
config.json
file:{ "api_keys": { "openai": "your_openai_api_key", "anthropic": "your_anthropic_api_key", "google": "your_google_api_key", "serper": "your_serper_api_key" }, ... }
- Open the
Job_Application_Client.ipynb
notebook in Jupyter. - Follow the instructions in the notebook to:
- Specify the path to your resume and config file.
- Enter the job posting URL and optional job description.
- Run the job application process.
- Output: The tool will generate the following files:
focused_resume.md
: An optimized version of your resume.emphasize_strategy.md
: Suggestions for words or phrases to emphasize.cover_letter.md
: A tailored cover letter for the job.
/
├── job_application_client.py
├── config.json
├── Job_Application_Client.ipynb
├── requirements.txt
├── README.md
└── crew/
├── __init__.py
├── agents.py
├── tasks.py
└── utils.py
Contributions to this project are welcome! Please feel free to fork the repository, make changes, and submit a pull request.