Skip to content

NvkAnirudh/resume-tailor-automation

Repository files navigation

title emoji colorFrom colorTo sdk sdk_version app_file pinned license
Resume Tailor
👁
yellow
purple
streamlit
1.38.0
app/streamlit_app.py
false
mit

GitHub License Last Commit


Logo

Resume Optimizer

Automation of Resume Tailoring | Resume Optimizer

If you find this project helpful, I'd appreciate it if you could give this repo a star ⭐ Cheers!

Table of Contents
  1. Introduction
  2. Problem Statement
  3. Project Overview
  4. Source Code
  5. Getting Started
  6. Deployment
  7. Usage
  8. Pricing
  9. License
  10. Contributions
  11. Contact
  12. Acknowledgments

Introduction

This project automates the tailoring of resumes to a given job description using the Claude 3.5 sonnet model from Anthropic. The goal is to save time and increase efficiency in the job application process.

Built With

(top)

Problem Statement

Tailoring a resume to a job description can be a tedious and time-consuming process. This project aims to consolidate everything in one place, allowing users to simply copy-paste the job description and update their resume accordingly.

(top)

Project Overview

The project consists of the following components:

  • A Streamlit application for user input and output
  • A Python script for Google Docs API authentication and text styling
  • A source code directory containing the following files:
    • api_client.py: initializes the Claude 3.5 sonnet model
    • config.py: initializes the required Anthropic API key
    • pdf_handler.py: reads and returns the attached PDF content
    • resume_analyzer.py: initializes the prompt and passes it to the Claude 3.5 API
    • text_processing.py: processes the response from Claude to output a structured analysis and updated resume

(top)

Source Code

The source code is organized into the following directories and files:

  • app: contains the Streamlit application code
  • src: contains the source code files listed above
  • credentials_creation.py: generates the credentials.py file for Google Docs API authentication

(top)

Getting Started

To get started in the local environment, follow these steps:

  1. Clone the repository using git clone https://github.com/your-username/resume-tailor-automation.git
  2. Install the required packages using pip install -r requirements.txt
  3. Set up your Anthropic API key as an environment variable
  4. Enable the Google Docs API on GCP console by going to APIs & Services -> Enabled APIs & Services -> 'Search for Google Docs API'
  5. Download the credentials.json file from GCP console after creating a OAuth2.0 Client ID by going to Credentials -> OAuth 2.0 Client IDs (you may want to fill out the OAuth Consent Screen first)
  6. Once you have all the required keys, you can run app/streamlit_app.py

(top)

Deployment

The application was deployed on Hugging Face Spaces using GitHub Actions.

To get started in Hugging Face Spaces, follow these steps:

  1. Create your own GitHub repo
  2. Create a GitHub Secret with your HF_Token (access token from Hugging Face)
  3. Go to Actions in your GitHub repo, click Set up a workflow yourself and add the yml file from Hugging Face Spaces documentation
  4. Since you won't have your credentials.json (because you put this file in .gitignore so that it doesn't get committed), add Google Client ID and Google Client Secret to Spaces environment variables. This is when you need credentials_creation.py to create a credentials.json file.
  5. Once the above steps are executed properly, your app should be up and running.

(top)

Usage

To use the application, follow these steps:

  1. Copy-paste the job description into the input field
  2. Upload your resume as a PDF file
  3. Click the "Optimize Resume" button to generate an updated resume

(top)

Pricing

The pricing for using the Claude 3.5 sonnet model can be found here

(top)

License

This project is licensed under MIT.

(top)

Contributions

Contributions are welcome! If you'd like to contribute to this project, please fork the repository and submit a pull request.

(top)

Contact

LinkedIn Gmail

(top)

Acknowledgements

  • Anthropic
  • Google

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages