Cover Letter Builder
Cover Letter Builder is a tool designed to help users quickly generate professional cover letters tailored to specific job positions.
To use this project, you need Python 3.10+. Follow these steps to set up the environment:
Clone the repository:
git clone https://github.com/ajay-paul/Cover-Letter-Builder.git
cd Cover-Letter-Builder
Setup Instructions
Create and activate a virtual environment (optional but recommended):
python -m venv env source env/bin/activate # On Windows, use `env\Scripts\activate`Install dependencies:
pip install -r requirements.txtDownload and configure the LLaMA model:
- You may follow here to setup Ollama and LLaMA model for language processing.
Web Driver Setup for Selenium:
- Selenium requires a web driver to control browsers.
### Using Edge WebDriver (Windows) Edge WebDriver comes pre-installed on Windows. Ensure your Edge and WebDriver versions match:
- Check your Edge version under Settings > About Microsoft Edge.
- Download the matching WebDriver from Microsoft Edge WebDriver if needed.
- Add WebDriver to your system PATH.
### Using Chrome WebDriver
- Download the ChromeDriver matching your Chrome version.
- Unzip and add it to your PATH.
### Using Firefox WebDriver
- Download GeckoDriver.
Extract and add it to your PATH.
⚠️ Note:
If you're using a web driver other than Edge, make sure to import the appropriate driver.- Tesseract OCR:
For Tesseract, you may need to install it separately.
### Installation:
- Windows: Download the installer from Tesseract OCR's official website and follow the installation instructions.
- macOS: Install via Homebrew:
bash brew install tesseract - Linux: Install via your package manager:
- For Ubuntu/Debian:
bash sudo apt-get install tesseract-ocr - After installation, make sure to add Tesseract to your system's PATH.
- For Ubuntu/Debian:
Custom Information
Define URL in
const.py:- Update the
const.pyfile with the appropriate URL for the model to access necessary resources.
- Update the
Configure Your Profile Information:
- Customize your profile with details such as Experience, Skills, and other relevant information in
const.pyto tailor the cover letter content.
- Customize your profile with details such as Experience, Skills, and other relevant information in
Add Custom Prompt in
model.py:- You can provide an additional prompt to the model in the
model.pyfile. For example:
- You can provide an additional prompt to the model in the
response = ollama.chat(
model='llama3.2',
messages=[
{
'role': 'user',
'content': (
'Based on the web-scraped data, write a cover letter in English for the position. '
'You may start with my address, then the company address at the top, then '
'start with "Hello Recruiting Team,":\n '
'Show my deep motivation for the position\n '
f'{job_description}.\n'
'Additional information about myself:\n'
f'{PROFILE}\n'
'Tailor the application to align closely with the specific requirements outlined in the job description.\n'
'Job found on your career page.\n'
),
},
]
)
To Run the Program
Navigate to the project directory and run the main file:
cd Cover-Letter-Builder
python -m src.main
License
This project is licensed under the MIT License - see the LICENSE file for details.
Built With
- automation
- llama
- llm
- python
Log in or sign up for Devpost to join the conversation.