Skip to content

A smart job search bot with tailored resume generation, helping you land interviews

License

Notifications You must be signed in to change notification settings

vection/Resume_Tailor_Bot

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

19 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🤖 Resume Tailor Bot

Table of Contents

Overview

The Resume Tailor Bot is a Discord bot designed to assist users in their job search process using advanced generative AI tools. It provides job alerts and offers custom resume generation based on user input and job descriptions. With this bot, users can streamline their job search, receive notifications for new job posts, and generate tailored resumes to match specific job requirements.

Initial Requirements

Before running the bot, make sure you have the following requirements in place:

  • OpenAI API Key: You need an OpenAI API key to utilize the AI-powered features of the bot, such as generating custom resumes and interview questions. You can obtain an API key by signing up for OpenAI services.

  • LinkedIn Account: The bot requires a LinkedIn account to fetch job listings. Make sure you have a valid LinkedIn account with appropriate credentials.

  • Discord Token: To use the bot on Discord, you'll need a Discord token. Create a Discord bot and obtain its token by following the Discord Developer Portal guidelines.

Installation

  1. Clone the repository: git clone https://github.com/vection/ResumeTailor.git

  2. Install the required dependencies: pip install -r requirements.txt

Note: Make sure you have installed wkhtmltopdf.

  1. Configure the bot:
  • Open the config.ini file and adjust the necessary settings.
  • Set up your Discord bot token, LinkedIn credentials, and OpenAI API keys in the config.ini file.
  1. Run the bot: python bot.py

Note: There is a Dockerfile provided if you prefer running the bot in a Docker container. Please be aware that Docker creates a separate environment, and files may be saved locally.

Usage

  1. Registration:
  • Use the !register command to register with the bot and provide your name.
  • Specify your job keywords for job alerts and provide your work experience and personal projects. In the registration process, it is important to provide as much detail as possible about your work and personal experience. Include relevant information such as job titles, company names, dates of employment, and a description of your responsibilities and achievements. Additionally, include details about your education, such as degree names, institution names, and graduation dates. The more descriptive and accurate the information you provide, the better the bot will be able to generate tailored resumes for you.
  1. Job Search:
  • Use the !jobs <num_jobs> [COMPANY_OPTIONAL] command to fetch the newest jobs based on your registered keywords.
  • Specify the number of jobs to fetch and optionally add a company filter to narrow down the job search.
  1. Custom Resume Generation:
  • Use the !generate <job_id> command to generate a custom resume based on your information and a specific job description.
  • Provide the job ID of the desired job for resume generation.
  1. Other Commands:
  • !stats: View your registration information and statistics.
  • !delete: Delete your registration from the bot.
  • !alert <num_seconds>: Set up job alerts to receive notifications at the specified interval.
  • !questions <job_id>: Generate possible interview questions based on a job post.

Features

  • User registration and customization of job keywords and personal information.
  • Fetching and displaying the newest jobs based on registered keywords.
  • Custom resume generation based on job descriptions using AI-powered methods.
  • Job alerts to receive notifications about new job posts.
  • Interview question generation based on job descriptions.

AI Configuration Settings

  • enhance_start: This setting determines whether the AI should enhance the candidate description. When set to True, the AI will attempt to improve the description of the candidate. The default value is False.

  • enhance_start_temperature: The temperature parameter controls the randomness of the AI's responses during the process of enhancing the user description. Higher values (e.g., 0.9) make the output more random, while lower values (e.g., 0.1) make it more deterministic. The default temperature for enhancing the start is set to 0.9.

  • enhance_end: This setting determines whether the AI should enhance the experience and summary of the resume. When set to True, the AI will attempt to improve the concluding section of the generated better results. The default value is True.

  • enhance_end_summary_temperature: The temperature parameter controls the randomness of the AI's responses during the process of enhancing the end of the summary section in the custom resume. The default temperature for enhancing the end of the summary is set to 0.9.

  • enhance_end_experience_temperature: The temperature parameter controls the randomness of the AI's responses during the process of enhancing the end of the experience section in the custom resume. The default temperature for enhancing the end of the experience is set to 0.9.

  • resume_generation_temperature: The temperature parameter controls the randomness of the AI's responses during the process of generating the custom resume tailored to job description. Higher values (e.g., 1.0) make the output more random, while lower values (e.g., 0.1) make it more deterministic. The default temperature for resume generation is set to 1.0.

  • description_temperature: The temperature parameter controls the randomness of the AI's responses when extracting relevant qualities from the job description. Higher values (e.g., 0.9) make the output more random, while lower values (e.g., 0.1) make it more deterministic. The default temperature for description extraction is set to 0.9.

Contributing

Contributions are welcome! If you'd like to contribute to this project, please follow these steps:

  1. Fork the repository.
  2. Create a new branch for your feature or bug fix.
  3. Make your changes and commit them with descriptive commit messages.
  4. Push your changes to your forked repository.
  5. Submit a pull request to the main repository.

Images

License

This project is licensed under the MIT License.

About

A smart job search bot with tailored resume generation, helping you land interviews

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published