- Project Overview
- Features
- Project Structure
- Setup and Installation
- Docker Setup
- Usage
- Parsing Indeed Job Descriptions
- Key Components
- Customization
- Contributing
- License
- Acknowledgments
The AI-Powered Resume and Cover Letter Generator is a sophisticated tool designed to automate the creation of professional resumes and cover letters. By leveraging OpenAI's and Anthropic's language models, this project analyzes job descriptions to generate tailored content for each section of a resume and cover letter. The system then compiles the resume into a LaTeX document and converts it to a PDF, ensuring a polished and professional presentation.
- AI-Driven Content Generation: Utilizes AI to analyze job descriptions and generate customized resume and cover letter content.
- LaTeX Formatting: Employs LaTeX templates for high-quality document formatting.
- PDF Compilation: Converts LaTeX documents into PDF format for easy sharing and printing.
- Job-Specific Organization: Automatically organizes generated documents into job-specific folders.
- Indeed Job Description Parsing: Directly parses job descriptions from Indeed to streamline the input process.
- Docker Support: Easily deploy and run the application using Docker.
project_root/
│
├── main.py
├── engine/
│ └── process_section.py
├── loaders/
│ ├── tex_loader.py
│ ├── json_loader.py
│ ├── prompt_loader.py
│ └── job_description_loader.py
├── parsers/
│ └── indeed_parser.py
├── utils/
│ └── utils.py
├── tex_template/
│ └── (LaTeX template files)
├── prompts/
│ └── (System prompts for AI)
├── files/
│ ├── job_description.txt
│ └── information.json
└── created_resumes/
└── (Output folders for generated resumes)
-
Clone the repository:
git clone https://github.com/mucahitkayadan/Resume-Builder-TeX.git cd Resume-Builder-TeX
-
Install the required dependencies:
pip install -r requirements.txt
-
Set up your API keys:
- Create a
.env
file in the project root - Add your API keys:
OPENAI_API_KEY=your_openai_api_key_here ANTHROPIC_API_KEY=your_anthropic_api_key_here
- Create a
-
Ensure you have LaTeX installed on your system (for PDF compilation).
-
Ensure Docker is installed on your system.
-
Build the Docker image:
docker build -t resume-generator .
-
Run the Docker container:
docker run -p 8501:8501 --env-file .env resume-generator
This command uses the environment variables from your
.env
file. -
Access the application by opening a web browser and navigating to
http://localhost:8501
.
-
Place your job description in
files/job_description.txt
. -
Update your personal information in
files/information.json
. -
Run the main script:
python main_easy_applier.py
Or, if using Docker:
docker run -p 8501:8501 --env-file .env resume-generator
-
The generated resume will be saved in a new folder under
created_resumes/
, named after the company and position.
To parse job descriptions from Indeed, use the indeed_parser.py
script:
- Update the URL in the script to the Indeed job listing you want to parse.
- Run the script:
python parsers/indeed_parser.py
The entry point of the application. It orchestrates the entire process of resume generation.
Contains the OpenAIRunner
class, which interfaces with the OpenAI API to generate content for each resume section.
tex_loader.py
: Loads LaTeX templatesjson_loader.py
: Loads personal information from JSONprompt_loader.py
: Loads system prompts for AIjob_description_loader.py
: Loads and processes job descriptions
Contains the parse_indeed_job
function, which fetches and parses job descriptions from Indeed job listings.
Contains utility functions for file operations, LaTeX compilation, etc.
- Modify LaTeX templates in
tex_template/
to change the resume format. - Update system prompts in
prompts/
to adjust AI behavior. - Edit
files/information.json
to update your personal information.
Contributions are welcome! Please feel free to submit a Pull Request.
This project is licensed under the MIT License - see the LICENSE file for details.
- OpenAI for providing the GPT model
- Anthropic for providing the Claude model
- LaTeX project for the document preparation system
LaTeX templates are now stored in the database. To modify a template:
- Use the DatabaseManager to retrieve the template
- Make your modifications
- Use the DatabaseManager to update the template in the database
The TexLoader class now loads LaTeX templates from the database instead of from files. It uses the DatabaseManager to retrieve templates.