Automate Your Job Search: AI Applies to 1000 Positions Overnight & Get 100+ Interviews!
- Rifx.Online
- Programming , Technology , Data Science
- 30 Nov, 2024
In today’s fast-paced and highly competitive job market, finding and securing your dream job can be both time-consuming and exhausting. The process often involves endless hours of scrolling through job listings, tailoring each application, and repetitively filling out forms — all of which can lead to job search fatigue and missed opportunities. Enter Auto_Jobs_Applier_AIHawk, your AI-powered job search assistant designed to automate the application process, provide personalized recommendations, and significantly enhance your chances of landing that coveted position.
This comprehensive guide will walk you through everything you need to know about Auto_Jobs_Applier_AIHawk, from understanding its key features to installing, configuring, and using the tool effectively. Whether you’re a technical enthusiast or a job seeker looking to streamline your application process, this guide has got you covered.
Table of Contents
- The Challenge of Modern Job Hunting
- Introducing Auto_Jobs_Applier_AIHawk
- Key Features
- Installation Guide
- Configuration Setup
- Usage Guide
- Troubleshooting Common Issues
- Advanced Configuration
- Contributing to the Project
- Conclusion
The Challenge of Modern Job Hunting
In the digital age, the landscape of job searching has transformed dramatically. Online platforms like LinkedIn, Indeed, and Glassdoor have democratized access to job opportunities, making it easier than ever to find potential roles. However, this increased accessibility comes with its own set of challenges:
- Overwhelming Choices: The sheer volume of job listings can be paralyzing, making it difficult to identify the most relevant opportunities.
- Time-Consuming Applications: Tailoring each application to fit the specific job description often requires significant time and effort.
- Repetitive Tasks: Filling out similar forms and uploading the same documents across multiple platforms can become monotonous and inefficient.
- Job Search Fatigue: The continuous cycle of searching and applying can lead to burnout, reducing overall productivity and effectiveness.
These challenges not only drain time and energy but also diminish the overall quality of your job search efforts, potentially leading to missed opportunities.
Introducing Auto_Jobs_Applier_AIHawk
Auto_Jobs_Applier_AIHawk is a cutting-edge, automated tool designed to revolutionize the job search and application process. By leveraging the power of automation and artificial intelligence, Auto_Jobs_Applier_AIHawk offers a comprehensive solution to streamline your job hunting efforts. Here’s what makes it stand out:
- Automation of Job Applications: Effortlessly apply to multiple job listings with just a few clicks, significantly reducing the time spent on manual applications.
- Personalized Recommendations: Receive tailored job suggestions based on your preferences, skills, and career goals.
- Enhanced Application Quality: Utilize AI-driven personalization to ensure each application aligns perfectly with the job requirements, increasing your chances of success.
This tool acts as your tireless, 24/7 job search partner, allowing you to focus on what truly matters preparing for interviews and developing your professional skills while Auto_Jobs_Applier_AIHawk handles the tedious aspects of job hunting.
Key Features
Auto_Jobs_Applier_AIHawk is packed with features designed to streamline your job search process. Here’s an in-depth look at what it offers:
1. Intelligent Job Search Automation
- Customizable Search Criteria: Define specific parameters such as job title, location, experience level, and more to filter job listings according to your preferences.
- Continuous Scanning: The tool continuously monitors job platforms for new openings that match your criteria, ensuring you never miss an opportunity.
- Smart Filtering: Automatically excludes irrelevant listings based on your defined filters, saving you time by focusing only on pertinent jobs.
2. Rapid and Efficient Application Submission
- One-Click Applications: Apply to multiple jobs swiftly with a single click, reducing the time and effort required for each application.
- Form Auto-Fill: Utilizes your profile information to automatically fill out application forms, ensuring consistency and accuracy.
- Automatic Document Attachment: Automatically attaches your resume and cover letter to each application, streamlining the submission process.
3. AI-Powered Personalization
- Dynamic Response Generation: Uses AI to generate tailored responses for employer-specific questions, enhancing the personalization of each application.
- Tone and Style Matching: Adjust the tone and style of your application to align with the company culture, making your application more appealing to potential employers.
- Keyword Optimization: Optimizes your applications with relevant keywords to improve their visibility and relevance in applicant tracking systems (ATS).
4. Volume Management with Quality
- Bulk Application Capability: Apply to a large number of positions without compromising the quality of each application.
- Quality Control Measures: Ensures that each application meets predefined quality standards before submission.
- Detailed Application Tracking: Monitors and records the status of each application, providing insights into your job search progress.
5. Intelligent Filtering and Blacklisting
- Company Blacklist: Exclude specific companies from your job search, ensuring you only apply to organizations you’re interested in.
- Title Filtering: Focus on relevant positions by excluding job titles that don’t align with your career goals.
6. Dynamic Resume Generation
- Tailored Resumes: Automatically generates unique resumes for each application, customized to match the specific job requirements.
- Content Customization: Adjust the content of your resume based on the job description, highlighting the most relevant skills and experiences.
7. Secure Data Handling
- YAML File Management: Manages sensitive information securely using YAML configuration files, ensuring your personal data remains protected.
These features collectively make Auto_Jobs_Applier_AIHawk a powerful tool for job seekers aiming to maximize their job search efficiency and effectiveness.
Installation Guide
Installing Auto_Jobs_Applier_AIHawk is straightforward, thanks to its compatibility with multiple operating systems and Python versions. This section provides a comprehensive, step-by-step guide to help you set up the tool on your system.
Prerequisites
Before you begin the installation process, ensure your system meets the following requirements:
Operating Systems Supported:
- Windows 10
- Ubuntu 22
Python Versions Supported:
- Python 3.10
- Python 3.11.9 (64-bit)
- Python 3.12.5 (64-bit)
Google Chrome: Ensure you have the latest version installed, as it’s required for the bot’s operations.
Installation Options
You have two primary methods to install Auto_Jobs_Applier_AIHawk:
- Using Python Virtual Environment
- Using Conda
Choose the method that best suits your preferences and existing setup.
Option 1: Using Python Virtual Environment
This method leverages Python’s built-in venv module to create an isolated environment for the project, ensuring that dependencies don’t conflict with other Python projects on your system.
Step 1: Download and Install Python
- Check Python Installation:
- Open your terminal or command prompt.
- Type python — version or python3 — version to check if Python is already installed.
2. Download Python:
- If Python isn’t installed or you need a different version, download it from the official Python website.
3. Install Python:
- Follow the installation prompts.
- Important: During installation, ensure you check the option to “Add Python to PATH” for easier access from the command line.
4. Verify Installation:
- Open your terminal or command prompt.
- Run python — version to confirm the installation.
Step 2: Download and Install Google Chrome
Auto_Jobs_Applier_AIHawk relies on Google Chrome for automating browser interactions.
- Download Chrome:
- Visit the official Google Chrome website and download the latest version.
2. Install Chrome:
- Run the installer and follow the on-screen instructions to complete the installation.
Step 3: Clone the Repository
- Open Terminal/Command Prompt:
- Navigate to the directory where you want to clone the repository.
2. Clone the Repository:
git clone https://github.com/feder-cr/Auto_Jobs_Applier_AIHawk.git
3. Navigate to the Project Directory:
cd Auto_Jobs_Applier_AIHawk
Step 4: Activate Virtual Environment
- Create a Virtual Environment:
python3 -m venv virtual
2. Activate the Virtual Environment:
- On macOS/Linux:
source virtual/bin/activate
. On Windows:
.\virtual\Scripts\activate
3. Confirm Activation:
- Your terminal prompt should now indicate that the virtual environment is active, e.g.,
(virtual) user@machine:~/Auto_Jobs_Applier_AIHawk$
Step 5: Install Required Packages
With the virtual environment activated, install the necessary dependencies.
pip install -r requirements.txt
Note: If you encounter any permission issues, consider using pip install --user -r requirements.txt
or running the command with elevated privileges.
Option 2: Using Conda
Conda is a popular package and environment management system that simplifies the installation process, especially for complex projects.
Step 1: Install Conda
- Download Conda:
2. Install Conda:
- Follow the installation instructions specific to your operating system provided on the download page.
3. Verify Installation:
- Open your terminal or command prompt.
- Run conda — version to confirm the installation.
Step 2: Create and Activate Conda Environment
- Create a New Environment:
conda create -n aihawk python=3.11
2. Activate the Environment:
conda activate aihawk
3. Confirm Activation:
- Your terminal prompt should now indicate that the
aihawk
environment is active, e.g.,(aihawk) user@machine:~/Auto_Jobs_Applier_AIHawk$
Step 3: Clone the Repository
- Navigate to Desired Directory:
cd path/to/your/desired/directory
2. Clone the Repository:
git clone https://github.com/feder-cr/Auto_Jobs_Applier_AIHawk.git
3. Navigate to the Project Directory:
cd Auto_Jobs_Applier_AIHawk
Step 4: Install Dependencies
With the Conda environment active, install the necessary packages.
pip install -r requirements.txt
Note: Conda environments are isolated, so dependencies won’t interfere with other projects on your system.
Configuration Setup
Proper configuration is crucial for Auto_Jobs_Applier_AIHawk to function effectively. The tool relies on several YAML configuration files that define your job search parameters, personal information, and AI settings. This section provides a detailed walkthrough of each configuration file and how to customize them to suit your needs.
1. secrets.yaml
**Purpose:**Stores sensitive information such as API keys required for integrating with AI models like OpenAI, Ollama, or Gemini. It’s essential to keep this file secure and never share or commit it to version control.
Location:data_folder/secrets.yaml
Configuration Options:
llm_api_key
: Your API key for the Language Learning Model (LLM) service you intend to use (OpenAI, Ollama, or Gemini).
Example:
llm_api_key: "your-api-key-here"
Instructions:
1. Obtain an API Key:
OpenAI Users:
- Sign up at OpenAI.
- Navigate to the API keys section and generate a new key.
Gemini Users:
- Visit Google AI for Developers to obtain your Gemini API key.
Ollama Users:
- Follow the Ollama Setup Guide to configure and obtain the necessary API credentials.
2. Update secrets.yaml:
- Open secrets.yaml in a text editor.
- Replace “your-api-key-here” with your actual API key.
Example:
llm_api_key: "sk-XXXXXXXXXXXXXXXXXXXXXXXXXXXX"
3. Security Best Practices:
- Never share your
secrets.yaml
file publicly. - Add
secrets.yaml
to your.gitignore
file to prevent accidental commits:
data_folder/secrets.yaml
2. work_preferences.yaml
**Purpose:**Defines your job search parameters and how the bot should behave during the search and application process. This file allows you to customize various aspects of your job hunt, ensuring that the tool aligns perfectly with your preferences.
Location:data_folder/work_preferences.yaml
Configuration Sections:
- Job Types:
remote
: Include remote jobs (true
) or exclude them (false
).hybrid
: Include hybrid jobs (true
) or exclude them (false
).onsite
: Include onsite jobs (true
) or exclude them (false
).
Example:
remote: true
hybrid: false
onsite: true
2. Experience Level and Job Categories:
experience_level
: Specify desired experience levels.
experience_level:
entry: true
mid: true
senior: false
. job_types
: Specify desired job types.
job_types:
full_time: true
part_time: false
contract: true
3. Positions and Locations:
positions
: List job titles you’re interested in
positions:
- Software Developer
- Data Scientist
. locations
: List geographical locations you want to target
locations:
- Italy
- London
4. Blacklisting:
companyBlacklist
: Exclude specific companies from your search.
positions:
- Software Developer
- Data Scientist
. titleBlacklist
: Exclude job titles containing specific keywords.
titleBlacklist:
- Sales
- Marketing
Instructions:
- Open
work_preferences.yaml
:
- Navigate to
data_folder/work_preferences.yaml
and open it in a text editor.
2. Customize Job Types:
- Set
remote
,hybrid
, andonsite
totrue
orfalse
based on your preferences.
3. Define Experience Levels and Job Categories:
- Under
experience_level
, setentry
,mid
, andsenior
totrue
orfalse
. - Under
job_types
, setfull_time
,part_time
, andcontract
totrue
orfalse
.
4. Specify Positions and Locations:
- List the job titles and locations that align with your career goals.
5. Set Up Blacklisting:
- Populate
companyBlacklist
with companies you wish to avoid. - Populate
titleBlacklist
with keywords you want to exclude from job titles.
6. Save Changes:
- After customization, save the
work_preferences.yaml
file.\
3. plain_text_resume.yaml
**Purpose:**Contains your resume information in a structured YAML format. This file is used to auto-fill application forms and generate customized resumes tailored to each job application.
Location:data_folder/plain_text_resume.yaml
Configuration Sections:
1. Personal Information:
Fields:
name
surname
date_of_birth
country
city
address
zip_code
phone_prefix
phone
email
github
linkedin
Example:
personal_information:
name: "Jane"
surname: "Doe"
date_of_birth: "01/01/1990"
country: "USA"
city: "New York"
address: "123 Main St"
zip_code: "520123"
phone_prefix: "+1"
phone: "5551234567"
email: "jane.doe@example.com"
github: "https://github.com/janedoe"
linkedin: "https://www.linkedin.com/in/janedoe/"
2. Education Details:
Fields:
education_level
institution
field_of_study
final_evaluation_grade
start_date
year_of_completion
exam
(List of courses and grades)
education_details:
- education_level: "Bachelor's Degree"
institution: "University of Example"
field_of_study: "Software Engineering"
final_evaluation_grade: "4/4"
start_date: "2021"
year_of_completion: "2023"
exam:
Algorithms: "A"
Data Structures: "B+"
Database Systems: "A"
Operating Systems: "A-"
Web Development: "B"
3. Experience Details:
Fields:
position
company
employment_period
location
industry
key_responsibilities
(List of responsibilities)skills_acquired
(List of skills)
Example:
experience_details:
- position: "Software Developer"
company: "Tech Innovations Inc."
employment_period: "06/2021 - Present"
location: "San Francisco, CA"
industry: "Technology"
key_responsibilities:
- responsibility: "Developed web applications using React and Node.js"
- responsibility: "Collaborated with cross-functional teams to design and implement new features"
- responsibility: "Troubleshot and resolved complex software issues"
skills_acquired:
- "React"
- "Node.js"
- "Software Troubleshooting"
4. Projects:
Fields:
name
description
link
Example:
projects:
- name: "Weather App"
description: "A web application that provides real-time weather information using a third-party API."
link: "https://github.com/janedoe/weather-app"
- name: "Task Manager"
description: "A task management tool with features for tracking and prioritizing tasks."
link: "https://github.com/janedoe/task-manager"
5. Achievements:
Fields:
name
description
Example:
achievements:
- name: "Employee of the Month"
description: "Recognized for exceptional performance and contributions to the team."
- name: "Hackathon Winner"
description: "Won first place in a national hackathon competition."
6. Certifications:
Fields:
name
description
Example:
certifications:
- "Certified Scrum Master"
- "AWS Certified Solutions Architect"
7. Languages:
Fields:
language
proficiency
Example:
languages:
- language: "English"
proficiency: "Fluent"
- language: "Spanish"
proficiency: "Intermediate"
8. Interests:
Fields:
interest
Example:
interests:
- "Machine Learning"
- "Cybersecurity"
- "Open Source Projects"
- "Digital Marketing"
- "Entrepreneurship"
9. Availability:
Fields:
notice_period
Example:
availability:
notice_period: "2 weeks"
10. Salary Expectations:
Fields:
salary_range_usd
salary_expectations:
salary_range_usd: "80000 - 100000"
11. Self-Identification:
Fields:
gender
pronouns
veteran
disability
ethnicity
Example:
self_identification:
gender: "Female"
pronouns: "She/Her"
veteran: "No"
disability: "No"
ethnicity: "Asian"
12. Legal Authorization:
Fields:
eu_work_authorization
us_work_authorization
requires_us_visa
requires_us_sponsorship
requires_eu_visa
legally_allowed_to_work_in_eu
legally_allowed_to_work_in_us
requires_eu_sponsorship
canada_work_authorization
requires_canada_visa
legally_allowed_to_work_in_canada
requires_canada_sponsorship
uk_work_authorization
requires_uk_visa
legally_allowed_to_work_in_uk
requires_uk_sponsorship
Example:
legal_authorization:
eu_work_authorization: "Yes"
us_work_authorization: "Yes"
requires_us_visa: "No"
requires_us_sponsorship: "Yes"
requires_eu_visa: "No"
legally_allowed_to_work_in_eu: "Yes"
legally_allowed_to_work_in_us: "Yes"
requires_eu_sponsorship: "No"
canada_work_authorization: "Yes"
requires_canada_visa: "No"
legally_allowed_to_work_in_canada: "Yes"
requires_canada_sponsorship: "No"
uk_work_authorization: "Yes"
requires_uk_visa: "No"
legally_allowed_to_work_in_uk: "Yes"
requires_uk_sponsorship: "No"
Instructions:
- Open plain_text_resume.yaml:
- Navigate to data_folder/plain_text_resume.yaml and open it in a text editor.
2. Fill Out Each Section:
- Personal Information: Provide your basic details, including name, contact information, and professional profiles.
- Education Details: Outline your academic background, including degrees, institutions, and relevant coursework.
- Experience Details: Detail your work experience, roles, responsibilities, and skills acquired.
- Projects: Highlight notable projects, both personal and professional, with descriptions and links.
- Achievements: List significant accomplishments and recognitions.
- Certifications: Include any relevant professional certifications.
- Languages: Specify the languages you speak and your proficiency levels.
- Interests: Mention your professional and personal interests.
- Availability: State your notice period or availability to start a new role.
- Salary Expectations: Provide your expected salary range.
- Self-Identification: Share information related to your personal identity, if comfortable.
- Legal Authorization: Indicate your legal ability to work in various regions and whether you require sponsorship.
3. Ensure Accuracy:
- Double-check all entries for accuracy and completeness.
- Ensure consistency in formatting, especially with dates and bullet points.
4. Save Changes:
- After completing all sections, save the plain_text_resume.yaml file.
4. config.py
**Purpose:**Defines the settings for the Language Learning Model (LLM) that Auto_Jobs_Applier_AIHawk will use to generate personalized content such as cover letters and responses to application questions.
Location:data_folder/config.py
Configuration Options:
LLM_MODEL_TYPE
: Specifies the type of LLM service to use. Supported options include:
openai
ollama
claude
gemini
LLM_MODEL
: Defines the specific model within the chosen type.
- OpenAI: e.g.,
gpt-4o
- Ollama: e.g.,
llama2
,mistral:v0.3
- Claude: Any supported Claude model
- Gemini: Any supported Gemini model
LLM_API_URL
: The API endpoint URL for the chosen LLM service.
- OpenAI:
https://api.pawan.krd/cosmosrp
/v1 - Ollama:
http://127.0.0.1:114
34/ - Claude:
https://api.anthropic.com
/v1 - Gemini:
https://aistudio.google.com/app/api
key
Example Configuration
LLM_MODEL_TYPE = "openai" # Options: openai / ollama / claude / gemini
LLM_MODEL = "gpt-4o" # Specific model based on the type
LLM_API_URL = "https://api.pawan.krd/cosmosrp/v1"
Instructions:
- Choose Your LLM Service:
- Decide whether to use OpenAI, Ollama, Claude, or Gemini based on your preferences and available API keys.
2. Update Configuration:
- Open
config.py
in a text editor. - Set
LLM_MODEL_TYPE
to your chosen service. - Specify the
LLM_MODEL
that aligns with your needs. - Enter the corresponding
LLM_API_URL
for the service.
3. Example for OpenAI:
LLM_MODEL_TYPE = "openai"
LLM_MODEL = "gpt-4o"
LLM_API_URL = "https://api.pawan.krd/cosmosrp/v1"
4. Example for Ollama:
LLM_MODEL_TYPE = "ollama"
LLM_MODEL = "llama2"
LLM_API_URL = "http://127.0.0.1:11434/"
5. Refer to Guides:
- For detailed setup instructions, refer to the Guide to Ollama Deployment.
6. Save Changes:
- After updating, save the
config.py
file.
5. data_folder_example
**Purpose:**Provides a working example of how the necessary configuration files should be structured and filled out. This folder serves as a practical reference to help you correctly set up your environment for Auto_Jobs_Applier_AIHawk.
Location:data_folder_example/
Contents:
secrets.yaml
config.yaml
plain_text_resume.yaml
Instructions:
- Access
data_folder_example
:
- Navigate to
data_folder_example
within the project directory.
2. Review Example Files:
- Open each file to understand the correct structure and data format.
- These files are populated with fictitious but realistic data to demonstrate proper configuration.
3. Use as a Reference:
- Compare the example files with your own
secrets.yaml
,work_preferences.yaml
, andplain_text_resume.yaml
. - Ensure that your files adhere to the same structure and formatting.
4. Copy and Customize:
- You can use the example files as templates. Copy them to your
data_folder
and replace the placeholder data with your actual information.
5. Save Customized Files:
- After customization, ensure that the files are saved in the
data_folder
and that they reflect your personal and job search details accurately.
Usage Guide
With Auto_Jobs_Applier_AIHawk installed and configured, you’re ready to streamline your job search process. This section provides a detailed, step-by-step guide on how to use the tool effectively.
Step 1: Set Account Language
**Purpose:**Ensuring that your job platform account language is set to English is crucial for the bot to function correctly. This compatibility ensures that the tool can accurately interpret and interact with job listings and application forms.
Instructions:
- Log In to Your Job Platform:
- Access the job platform where you intend to apply for jobs (e.g., LinkedIn, Indeed).
2. Navigate to Account Settings:
- Locate the language settings within your account profile.
3. Set Language to English:
- Change the account language to English if it’s set to another language.
4. Save Changes:
- Confirm and save the updated language settings.
5. Verify:
- Ensure that all platform interfaces are now displayed in English.
Step 2: Prepare Data Folders
Properly organizing your data folders ensures that Auto_Jobs_Applier_AIHawk can access the necessary configuration files and manage outputs effectively.
Components:
1. Data Folder:
Contains:
secrets.yaml
work_preferences.yaml
plain_text_resume.yaml
Location:data_folder/
2. Output Folder:
- Contains:
data.json
: Results from the--collect
mode.failed.json
: Applications that failed.open_ai_calls.json
: Logs of all calls made to the LLM model.skipped.json
: Applications that were skipped based on criteria.success.json
: Successful applications.
Location:output/
Instructions:
- Organize Data Folder:
- Ensure that the
data_folder
contains the three essential files: secrets.yaml
work_preferences.yaml
plain_text_resume.yaml
- Use the
data_folder_example
as a reference to verify the correct structure.
2. Verify Output Folder:
- Ensure that the
output
folder exists. If not, create it within the project directory. - This folder will automatically populate with various JSON files as the bot runs.
3. Check answers.json
:
- Location: Root directory of the project.
- Purpose: Stores user responses for updating the bot with corrected answers.
- Note: This file is not part of the output folder but plays a crucial role in refining the bot’s interactions.
Step 3: Run the Bot
Auto_Jobs_Applier_AIHawk offers flexibility in handling your resume. You can choose to let the bot generate dynamic resumes tailored to each application or use a specific PDF resume for all applications.
Options:
1. Dynamic Resume Generation:
- Description: If you don’t specify a resume, the bot will automatically generate a unique resume for each application based on the information provided in
plain_text_resume.yaml
. - Benefits: Increases the chances of success by customizing your resume for each position.
Command:
python main.py
2. Using a Specific Resume:
- Description: Use a pre-made PDF resume for all applications by specifying the resume file.
Instructions:
- Place your resume PDF in the
data_folder
directory. - Run the bot with the
--resume
option, pointing to your resume file.
Command:
python main.py --resume /path/to/your/resume.pdf
3. Collect Mode:
- Description: Collect job data without applying, useful for data analytics or review purposes.
- Instructions: Use the
--collect
option to gather job listings based on your search criteria.
Command:
python main.py --collect
Outcome: Stores all found job data in the output/data.json
file.
Execution Steps:
1. Open Terminal/Command Prompt:
- Navigate to the project directory:
cd Auto_Jobs_Applier_AIHawk
2. Activate Virtual Environment (if not already active):
On macOS/Linux:
source virtual/bin/activate
On Windows:
.\virtual\Scripts\activate
3. Run the Desired Command:
- Choose between dynamic resume generation, using a specific resume, or collect mode based on your needs.
4. Monitor the Process:
- The bot will provide real-time feedback in the terminal, indicating the progress of applications, data collection, and any issues encountered.
5. Review Output:
- Navigate to the
output
folder to review the JSON files containing the results of the bot’s operations.
Troubleshooting Common Issues
Even the most well-designed tools can encounter hiccups. Here’s how to address some common issues with Auto_Jobs_Applier_AIHawk:
1. OpenAI API Rate Limit Errors
Error Message:
openai.RateLimitError: Error code: 429 - {'error': {'message': 'You exceeded your current quota, please check your plan and billing details. ...}}
Solution:
- Check Billing:
- Visit the OpenAI Billing Dashboard to ensure your account is active and has sufficient credits.
2. Verify API Key:
- Ensure that the API key in
secrets.yaml
is correct and active.
3. Upgrade Plan:
- If you’re on a free tier, consider upgrading your OpenAI plan to increase your request quota.
4. Wait for Update:
- After adding funds or upgrading, it might take 12–24 hours for changes to take effect.
5. Monitor Usage:
- Regularly check your API usage to avoid hitting the rate limits.
6. Alternative Models:
- If rate limits persist, consider switching to a different LLM model or provider, such as Ollama or Gemini.
2. Easy Apply Button Not Found
Error Message:
Exception: No clickable 'Easy Apply' button found
Solution:
- Verify Login:
- Ensure you’re properly logged into the job platform with the correct credentials.
2. Check Job Listings:
- Confirm that the targeted job listings actually have the “Easy Apply” option available.
3. Adjust Search Parameters:
- Review your
work_preferences.yaml
to ensure it returns jobs with the “Easy Apply” feature.
4. Increase Wait Time:
- Modify the script to allow more time for pages to load fully before searching for the button.
5. Update Bot Logic:
- Ensure that the bot’s logic for identifying the “Easy Apply” button aligns with the current layout of the job platform.
3. Incorrect Information in Job Applications
**Issue:**The bot provides inaccurate data for experience, CTC (Cost to Company), and notice period.
Solution:
- Update Prompts:
- Enhance the prompts used by the AI to generate more specific and accurate information regarding professional experience.
2. Modify Configuration:
- Add fields in
work_preferences.yaml
for current CTC, expected CTC, and notice period.
3. Adjust Bot Logic:
- Update the bot’s logic to utilize these new configuration fields effectively, ensuring that the generated data aligns with your expectations.
4. Validate Data:
- Regularly review the generated applications to ensure accuracy and make adjustments as needed.
4. YAML Configuration Errors
Error Message:
yaml.scanner.ScannerError: while scanning a simple key
Solution:
- Validate YAML Syntax:
- Use a YAML validator tool (e.g., YAML Lint) to ensure proper indentation and syntax.
2. Gradual Modifications:
- Copy the example
config.yaml
and modify it incrementally to isolate and identify errors.
3. Check Indentation:
- YAML is sensitive to indentation. Ensure that nested elements are correctly indented using spaces (not tabs).
4. Avoid Special Characters:
- Ensure that no unnecessary special characters or quotes disrupt the YAML structure.
5. Review Recent Changes:
- If the error appeared after recent modifications, review those changes carefully for any syntax issues.
5. Bot Logs In But Doesn’t Apply to Jobs
**Issue:**The bot searches for jobs but continues scrolling without applying.
Solution:
- Check for CAPTCHAs:
- Ensure that there are no security checks or CAPTCHAs blocking the bot’s actions.
2. Review Search Parameters:
- Verify that your
work_preferences.yaml
parameters are correctly set to target applicable jobs with the “Easy Apply” option.
3. Profile Alignment:
- Ensure that your profile meets the job requirements specified in your configurations. Misalignments can prevent successful applications.
4. Inspect Console Output:
- Look for error messages or warnings in the console to identify specific issues hindering the application process.
5. Update Dependencies:
- Ensure all dependencies are up to date by running:
pip install --upgrade -r requirements.txt
6. Modify Wait Times:
- Increase the wait time in the script to allow for slower page loads, ensuring that all elements are fully loaded before the bot attempts to interact with them.
General Troubleshooting Tips
Update Scripts:
- Always use the latest version of Auto_Jobs_Applier_AIHawk by pulling updates from the repository:
git pull origin main
Verify Dependencies:
- Ensure all dependencies are installed and up to date
pip install --upgrade -r requirements.txt
Stable Internet Connection:
- A reliable internet connection is crucial for seamless operations. Check your connectivity if you encounter network-related issues.
Clear Browser Cache:
- If issues persist, try clearing your browser’s cache and cookies to eliminate any potential conflicts.
Review Logs:
- Regularly check log files (e.g.,
open_ai_calls.json
,failed.json
) for insights into the bot’s operations and any encountered errors.
Seek Community Support:
- If you’re unable to resolve an issue, consider reaching out to the community via Discord or GitHub Issues for assistance.
Advanced Configuration
For users looking to customize their experience further, Auto_Jobs_Applier_AIHawk offers advanced configuration options. This section covers how to disable certain features, adjust currency settings, remove specific resume sections, and set up auto-start functionality.
Disabling Achievements
**Purpose:**If you prefer not to include achievements in your resume or job applications, you can disable this feature.
Instructions:
- Modify
gpt_resume_job_description.py
:
- Navigate to
(Your environment name)\Lib\site-packages\lib_resume_builder_AIHawk\
. - Open
gpt_resume_job_description.py
in a text editor. - Locate the code sections containing the word “achievements” and comment them out by adding a
#
at the beginning of each relevant line.
Example:
## self.achievements = data.get('achievements', [])
2. Update plain_text_resume.yaml
:
- Open
plain_text_resume.yaml
in a text editor. - Set the
achievements
field to an empty string.
Example:
achievements: ""
3. Save Changes:
- After making the modifications, save both files.
Removing Legal Authorization
**Purpose:**If you do not wish to include legal authorization details in your applications, follow these steps to remove them.
Instructions:
- Edit
job_application_profile.py
:
- Navigate to
Auto_Jobs_Applier_AIHawk\src\job_application_profile.py
. - Open the file in a text editor.
- Comment out all instances of “legal_authorization,” including related strings or functions.
Example:
## self.legal_authorization = data.get('legal_authorization', {})
2. Update resume_schema.yaml
:
- Open
Auto_Jobs_Applier_AIHawk\assets\resume_schema.yaml
in a text editor. - Set the
legal_authorization
field to an empty string.
Example:
legal_authorization: ""
3. Save Changes:
- After editing, save both files.
Converting Salary from USD to Another Currency
**Purpose:**Customize your salary expectations to a currency other than USD to better align with job locations or personal preferences.
Instructions:
- Modify Configuration Files:
- Open the following files in a text editor:
Auto_Jobs_Applier_AIHawk\src\job_application_profile.py
Auto_Jobs_Applier_AIHawk\assets\resume_schema.yaml
myenv\Lib\site-packages\lib_resume_builder_AIHawk\resume.py
2. Change Salary Fields:
- Replace
salary_range_usd
with your desired currency, such assalary_range_inr
for Indian Rupees.
Example in plain_text_resume.yaml
:
salary_expectations:
salary_range_inr: "600000 - 800000"
3. Update Code Logic:
- Ensure that the bot’s logic in the modified Python files correctly references the new salary fields.
4. Save Changes:
- After making the necessary modifications, save all edited files.
Removing Grades and Exam
**Purpose:**If you prefer not to include academic grades and exam details in your resume, you can remove these sections.
Instructions:
- Edit
resume_schema.yaml
:
- Open
Auto_Jobs_Applier_AIHawk\assets\resume_schema.yaml
in a text editor. - Comment out the
exam
field by adding a#
at the beginning of the line.
Example:
## exam:
2. Modify resume.py
:
- Navigate to
myenv\Lib\site-packages\lib_resume_builder_AIHawk\resume.py
. - Open the file in a text editor.
- Comment out all code related to the
exam
section.
Example:
## self.exam = data.get('exam', {})
3. Save Changes:
- After editing, save both files.
Auto-Starting AIHawk
**Purpose:**Configure Auto_Jobs_Applier_AIHawk to automatically start when your system boots, ensuring continuous job application submissions without manual intervention.
Instructions:
- Modify
manager_facade.py
:
- Navigate to
Auto_Jobs_Applier_AIHawk\src\manager_facade.py
. - Open the file in a text editor.
- Set the default resume format or any other default settings as needed.
Example Modification:
def prompt_user(...):
...
2. Create an Automation Script:
- Open a text editor and create a new batch script (
auto_start_aihawk.bat
).
Example:
@echo off
set paths_file=%~dp0saved_paths.txt
...
copy "%~f0" %startup_folder%
pause
3. Save the Script:
- Save the file with a
.bat
extension in the project directory.
4. Run the Script:
- Double-click the batch script to execute it.
- The script will prompt for the Python virtual environment path and the
main.py
directory path. - It will then save these paths in
saved_paths.txt
and copy itself to the Windows startup folder.
5. Verify Functionality:
- Restart your computer.
- Ensure that Auto_Jobs_Applier_AIHawk starts automatically upon system boot and functions as expected.
Advanced Tools Setup
Ollama & Gemini Setup
**Purpose:**Integrate additional AI models like Ollama and Gemini to enhance the capabilities of Auto_Jobs_Applier_AIHawk.
Instructions:
- Download and Install Ollama:
- Windows: Download the
.exe
file from Ollama’s official website and run the installer. - Linux: Execute the following command in the terminal:
curl -fsSL https://ollama.com/install.sh | sh
. macOS: Download and install the .dmg
file from Ollama’s official website.
2. Verify Ollama Installation:
- Open your browser and navigate to
localhost:11434
to ensure Ollama is running.
3. Download Models:
- Use the command-line interface to pull desired models
ollama pull llama2
Replace llama2
with the model name you wish to use.
4. Configure Ollama in Auto_Jobs_Applier_AIHawk:
- Open
config.py
and set the following
LLM_MODEL_TYPE = "ollama"
LLM_MODEL = "llama2"
LLM_API_URL = "http://127.0.0.1:11434/"
5. Obtain Gemini API Key:
- Visit Google AI Studio to obtain your Gemini API key.
- Add billing details to activate the API key.
6. Update secrets.yaml
for Gemini:
- Open
secrets.yaml
and add your Gemini API key
llm_api_key: "your-gemini-api-key-here"
7. Configure Gemini in config.py
:
- Set the LLM settings accordingly
LLM_MODEL_TYPE = "gemini"
LLM_MODEL = "gemini-model-name"
LLM_API_URL = "https://aistudio.google.com/app/apikey"
8. Refer to Setup Guides:
- For detailed instructions, refer to the Guide to Ollama Deployment.
Conclusion
Navigating the modern job market doesn’t have to be an overwhelming task. With Auto_Jobs_Applier_AIHawk, you can automate the tedious aspects of job searching, allowing you to focus on what truly matters — preparing for interviews and honing your skills. By leveraging AI and intelligent automation, Auto_Jobs_Applier_AIHawk not only saves you time but also enhances the quality and reach of your job applications.
Key Takeaways:
- Efficiency: Automate repetitive tasks to save time and reduce job search fatigue.
- Personalization: Utilize AI to tailor your applications, increasing the likelihood of success.
- Scalability: Apply to a larger number of jobs without compromising on quality.
- Community Support: Benefit from an active community and ongoing project enhancements.
**Get Started Today:**Clone the repository, set up your configurations, and let Auto_Jobs_Applier_AIHawk take your job search to the next level!
git clone https://github.com/feder-cr/Auto_Jobs_Applier_AIHawk.git
cd Auto_Jobs_Applier_AIHawk
python3 -m venv virtual
source virtual/bin/activate
pip install -r requirements.txt
**Join Community:**Stay updated, seek support, and contribute to the project by joining our Telegram group and Discord server.