Spaces:
Running
A newer version of the Streamlit SDK is available:
1.43.2
title: Resume Tailor
emoji: π
colorFrom: yellow
colorTo: purple
sdk: streamlit
sdk_version: 1.38.0
app_file: app/streamlit_app.py
pinned: false
license: mit
If you find this project helpful, I'd appreciate it if you could give this repo a star β Cheers!
Table of Contents
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 codesrc
: contains the source code files listed abovecredentials_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:
- Clone the repository using git clone https://github.com/your-username/resume-tailor-automation.git
- Install the required packages using pip install -r requirements.txt
- Set up your Anthropic API key as an environment variable
- Enable the
Google Docs API
on GCP console by going to APIs & Services -> Enabled APIs & Services -> 'Search for Google Docs API' - 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) - 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:
- Create your own GitHub repo
- Create a GitHub Secret with your
HF_Token
(access token from Hugging Face) - Go to
Actions
in your GitHub repo, click Set up a workflow yourself and add the yml file from Hugging Face Spaces documentation - Since you won't have your
credentials.json
(because you put this file in .gitignore so that it doesn't get committed), addGoogle Client ID
andGoogle Client Secret
to Spaces environment variables. This is when you needcredentials_creation.py
to create a credentials.json file. - Once the above steps are executed properly, your app should be up and running.
(top)
Usage
To use the application, follow these steps:
- Copy-paste the job description into the input field
- Upload your resume as a PDF file
- 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
(top)
Acknowledgements
- Anthropic