Giter Site home page Giter Site logo

anshketchum / resumeop Goto Github PK

View Code? Open in Web Editor NEW
20.0 2.0 1.0 1.2 MB

Go the extra mile, without wasting thousands of hours. Achieve job market freedom using open source AI.

License: Apache License 2.0

Makefile 1.15% Python 94.50% Pug 1.78% SCSS 2.57%
ai bigtechinterviews gpt hiring internships jobs jobsearch low-cost open-source recruiting

resumeop's Introduction

Resume Optimizer

Go the extra mile, without wasting thousands of hours. Achieve job market freedom using open source AI.

An optimizer that takes a job description, a bank of experiences, and tailors your resume to the job description using AI. Check out an example pdf generated right here.

Changelog

3/2/24

  • Added support for AI generated cover letters! Looking for some feedback on what kind of edits you make post-generation.
  • Progress on integrating in more in-depth web researchers for company recon
  • Planning integrations for follow up messaging through LinkedIn and GMail

Features

  • OpenAI compatible -- uses OpenAI's GPT models, but the backend can be swapped out for an open source model with a couple minutes of effort.

Setup

Tested with python 3.10 so far. Any version above 3.10 (11, 12) or 3.9 should work without much of a problem.

Step 1: Repo

  1. Clone the repository in whichever way you see fit.
  2. cd into the base directory of the folder
  3. Run make install, or the commands under the install section in Makefile to initialize all the submodules.
  4. Install the requirements. pip install -r requirements.txt

Step 2: Environment

Visit openai's website, and obtain an API key. Then, create an env file with the following content:

OPENAI_API_KEY="YOUR_API_KEY_HERE"
JOB_DESCRIPTION_FILEPATH="JOB_DESCRIPTION.txt"
JOB_COMPANY_NAME="COMPANY_NAME_HERE"

What is an open source, OpenAI backend model? OpenAI's API has become a standard in the LLM world for scalably serving large language models. As OpenAI has grown, developers have created projects like localai, enabling users to "mimic" OpenAI's API functionality, while using open source models.

Open source, OpenAI models setup: Add an extra line to your .env file. The entire file is shown below, for convenience.

OPENAI_API_KEY="YOUR_API_KEY_HERE"
JOB_DESCRIPTION_FILEPATH="JOB_DESCRIPTION.txt"
JOB_COMPANY_NAME="COMPANY_NAME_HERE"
OPENAI_CUSTOM_API="http://localhost:8080/v1/"

In this example, we assume that we use the v1 version of OpenAI's API, and that we are locally running it at port 8080 (works without change if you are using localai)

Step 3: Resume information

Edit experiences.json with your information.

That's it!

Running the Program

Step 1: Loading the job description

Copy over your job description into JOB_DESCRIPTION.txt. If JOB_DESCRIPTION_FILEPATH isn't set in .env, make sure to point that variable to the filepath of JOB_DESCRIPTION.txt

Step 2: Running the Program

Run the program with python main.py. You will see the output folder become populated with various file, and a single .pdf file containing your resume.

Making Edits to your Resume

  1. Open up resume_int.json (the intermediate resume), and make the modifications you'd like to make.
  2. Regenerate the resume with rendercv render resume_int.json or, more conveniently make edit

Making Edits to your Cover Letter

Make sure you run the entire workflow once before attempting to edit the cover letter.

  1. Open up the cover_letters folder. This will contain all of the information that is used to craft a crisp letter.
  2. Edit info.json with the proper company details
  3. Regenerate the resume with make edit-cover

Common Errors

    p["highlights"] = [sanitize_for_latex(p["description"])]
KeyError: 'description'

Re-run the script, it sometimes happens.

Achieving a ZERO-COST run.

The key here is that we will use the existing ChatGPT interface (chat.openai.com) for small scale resumes. It has been tested with 2-3 pages, should work with most resumes unless you've written a literal book. To activate this mode, switch the line

llm = OpenAIBackendAPI()

to

llm = OpenAIChatAPI()

You will be prompted to log into ChatGPT. Log in on the window that pops up (the AI can't access your credentials in any way, it'll start it's interactions after you log in), and type 'y' in the interface after doing so. Enjoy being able to use the latest and sweetest AI models for completely free!

Miscellaneous

Added a Makefile for misc operations, like cleanup. To clean up old files, run make clean.

TODO:

  1. Add additional support, create more documented pathways for running the entire workflow open source!
  2. Add in support for researching, and gathering relevant context / attempting to reasonably infer info about what the company may be delving into to provide extra tailoring information.

Future

  1. Support for LinkedIn / Gmail outreach with resumes

resumeop's People

Contributors

anshketchum avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

Forkers

mldurga

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.