---
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
---






(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](https://huggingface.co/docs/hub/spaces-github-actions) 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](https://docs.anthropic.com/en/docs/about-claude/models#model-comparison-table)(top)
## License This project is licensed under [MIT](https://github.com/NvkAnirudh/resume-tailor-automation/blob/main/LICENSE).(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 [](https://www.linkedin.com/in/nvkanirudh/) [](mailto:nuti.krish4@gmail.com)(top)
## Acknowledgements - Anthropic - Google