linkedinai 0.6.6
LinkedIn AI
Automate searching for jobs and submitting applications on LinkedIn using OpenAI.
Full Demo Videos
Starting the App, Login and Searching
https://github.com/LucasFaudman/linkedin-ai/assets/52257695/a840de6f-c122-4bb4-aa19-6fbe7b5e23dc
Applying
https://github.com/LucasFaudman/linkedin-ai/assets/52257695/0d45fe82-2a52-45b8-91f3-24db1d5556e8
Index
Why use LinkedIn AI?
Installation
PyPi Install Command
From Source Install Commands
Chromedriver Download (REQUIRED)
OpenAI API Key Setup (REQUIRED)
Usage (How to run the LinkedIn AI GUI App)
Searching for Jobs
Search Filters and Job Collections
Removing Jobs From Search Results
Finding Easy Apply Jobs (Application can be Submitted on LinkedIn)
Submitting Job Applications
Providing your Resume as Context for your AI
Training your AI to Answer Questions Like You
AI Automation Options
Generating Custom Cover Letters
Cover Letter Options
Viewing and Managing your Saved Jobs DB
Filtering Saved Jobs
Opening Saved Jobs
Updating Saved Jobs
Contributing
License
Why use LinkedIn AI?
Keep Up with the AI-Driven Job Market
With over 88% of companies using AI in their recruitment processes in 2024 and applicants requiring hundreds of applications per offer, leveraging AI for your job search has become essential to keep up.
Your application is most likely being read by an AI tool—so why not have it written by one too?
Automate Finding Jobs
LinkedIn AI streamlines your job search process, allowing you to find relevant job postings efficiently.
It leverages LinkedIn's advanced search filters and SouperScraper to search through the hundreds of applications and pinpoint opportunities that match your criteria, saving you time and effort.
Automate Filling Out and Submitting Job Applications
LinkedIn AI automates the repetitive and time-consuming task of filling out job applications.
Using your resume and previously provided answers stored in your Jobs DB, the AI can answer application questions accurately, making the submission process faster and more consistent.
Automate Application Tailoring
LinkedIn AI automates cover letter writing and editing to tailor your application to address the specific requirements of each job.
Using your resume, previous answers, and example cover letters you provide the AI can generate a custom cover letter for each job based on the posting's details and, if available, the hiring manager's name.
Easily View and Manage the Jobs You've Saved
LinkedIn AI provides an intuitive interface to view and manage your saved jobs. You can filter, update, and organize your job applications, ensuring you stay on top of your job search and never miss an opportunity.
Contacts and Messaging Coming Soon
Additionally, LinkedIn AI collects Hiring Manager information with each job listing. Future updates will include features for custom message sending and automatic connection requests, enhancing your networking capabilities directly through the application.
Installation
LinkedIn AI can be installed from PyPi or from source.
PyPi Install Command
pip3 install linkedin-ai
From Source Install Commands
git clone https://github.com/LucasFaudman/linkedin-ai.git
cd linkedin-ai
python3 -m venv .venv
source .venv/bin/activate
pip3 install -e .
IMPORTANT: After installing linkedin-ai, you will still need to download the correct Chromedriver AND setup your OpenAI API Key.
Chromedriver Download
Download the appropriate ChromeDriver for your Chrome version using getchromedriver.py (command below) or manually from the ChromeDriver website.
To find your Chrome version, go to chrome://settings/help in your browser.
getchromedriver
OpenAI API Key Setup
Instructions to setup your OpenAI API key can be found at this link
Once you have the path to your chromedriver and OpenAI API Key you are ready to use LinkedIn AI.
Usage: (How to run the LinkedIn AI GUI App)
Run the command below to open the LinkedIn AI App:
linkedin-ai
This will use the default config path ./linkedin-ai-config.json
To specify a custom config path use the --config/-c argument:
linkedin-ai --config /path/to/custom/config.json
Startup command, manual login (auto login can be enable in settings), and post-login initialization:
Searching For Jobs
LinkedIn AI supports all LinkedIn Search Filters and Job Collections.
Search Filters and Job Collections
NOTE: Available filters may differ based on the Search Term. Click the Update Filter Options button to refresh the filters in the UI.
Removing Jobs From Search Results
Any jobs you are not interested in can be removed by selecting them and clicking Remove Selected Items.
NOTE: This will prevent these jobs from being written to your Jobs DB.
Finding Easy Apply Jobs (Application can be Submitted on LinkedIn)
The first filter Easy Apply determines if the job application can be completed natively through LinkedIn.
IMPORTANT: All jobs can be searched for, stored in the Jobs DB, scraped, opened, etc, but currently ONLY Easy Apply applications can be submitted by the AI.
Submitting Job Applications
LinkedIn AI uses your Resume and your answers to previous job applications questions stored in the Jobs DB as the context to answer future questions about related topics.
Providing your Resume as Context for your AI
In the Settings tab you can select the path you to your Resume as a plaintext .txt file.
IMPORTANT: Anything in this file will be considered by the AI on every question while questions in the DB will only be considered when relevant to the current question.
If you have a PDF convert it or copy it with CTRL+A, CTRL+C, echo 'CTRL+V' > resume.txt. (Might add auto .pdf->.txt with PikePDF or similar in future if it’s requested.)
Training your AI to Answer Questions Like You
At first, the AI will frequently respond with ANSWER UNKOWN since it does not have enough context in the DB yet to answer tough questions about things not in your resume.
When this happens you will be prompted to provide the answer, and next time the AI sees a similar question, your related answers will be used to determine the answer.
Any questions you have already answered in previous job applications on LinkedIn will automatically be added to your DB for future use.
IMPORTANT: Begin by first doing applications with Ask for Answer When Needed and Verify AI Provided Answers both checked. Once you are satisfied with the accuracy of the AI answers, then you can allow it to run fully autonomously by unchecking Verify AI Provided Answers.
AI Automation Options
Determine the level of autonomy given to LinkedIn AI and when it should stop to ask you to approve, edit, or enter an answer.
Automation Option
Checked
Unchecked
Ask for Answer When Needed
Ask you for the answer when the AI is selects ANSWER UNKNOWN. Save the answer you provided, question, and choices, in the DB for future context.
Sets job status to needs answer, save progress on LinkedIn, and continue with next application. Answer is NOT saved in the DB.
Verify AI Provided Answers
Always ask you to verify/edit AI answers before submitting, even when the AI selects an answer it thinks is correct. Keep this enabled until you are satisfied with AI answers.
Use the AI provided answers to fill out the application, without asking you each time. Answers are saved to the DB to avoid wasting tokens on repeat questions.
Ask for Answer When Needed
Verify AI Provided Answers
AI Selects an Answer
AI Selects ANSWER UNKNOWN
Action
Checked
Checked
Ask you before submitting to approve or edit the answer.
Ask you before submitting to enter or select the answer.
Unchecked
Checked
Ask you before submitting to approve or edit the answer.
Skip question, set job status to needs answer, save progress for later, and begin next application.
Checked
Unchecked
Submit the answer without asking.
Ask you before submitting to enter or select the answer.
Unchecked
Unchecked
Submit the answer without asking
Skip question, set job status to needs answer, save progress for later, and begin next application.
Generating Custom Cover Letters
Feature is currently enabled and working, but UI improvements coming soon. Docs will be finished once UI is stable.
The Default Cover Letter Path setting is the file that will either be used as:
A generic cover letter to upload to all jobs that request a cover letter.
An example cover letter for the AI to use to understand your writing style.
Cover Letter Options
Determines how LinkedIn AI will handle jobs that ask for cover letters.
Cover Letter Option
When an Job Asks for a Cover Letter
Skip Cover Letters
Save application and sets job status to needs cover letter
Use Default Cover Letter for all jobs
Upload the file at Default Cover Letter Path
Generate Custom Cover Letter for each job
AI will use Default Cover Letter Path as an example of how you write, then write a custom cover letter based on the job description, hiring manager's name, your Resume .txt file, and your answers in the Db
NOTE: When using Generate Custom Cover Letter for each job the file at Default Cover Letter Path can include any number cover letter examples as long as it is clear to the AI where each one begins and ends.
Viewing and Managing your Saved Jobs DB
Feature is currently enabled and working, but UI improvements coming soon. Docs will be finished once UI is stable.
Filtering Saved Jobs
Opening Saved Jobs
Updating Saved Jobs
Contributing
Contributions welcome! Whether you're interested in fixing bugs, adding new features, improving documentation, or sharing ideas, any input is valuable.
How to Contribute
Fork the Repository: Start by forking the repository on GitHub. This will create a copy of the project in your own GitHub account.
Clone the Repository: Clone the forked repository to your local machine.
git clone https://github.com/LucasFaudman/linkedin-ai.git
cd linkedin-ai
Create a Branch: Create a new branch for your changes.
git checkout -b my-feature-branch
Make Changes: Make your changes in the code, documentation, or both.
Commit Changes: Commit your changes with a descriptive commit message.
git add .
git commit -m "Description of the changes"
Push Changes: Push your changes to your forked repository.
git push origin my-feature-branch
Create a Pull Request: Go to the original repository and create a pull request from your branch. Provide a detailed description of your changes and any relevant information.
Issues
If you encounter any bugs, have suggestions, or need help, please open an issue on GitHub. Make sure to provide as much detail as possible, including steps to reproduce the issue, error messages, and screenshots if applicable.
License
See LICENSE for details.
For personal and professional use. You cannot resell or redistribute these repositories in their original state.
There are no reviews.