What is the AI LinkedIn Jobs Agent?
The AI LinkedIn Jobs Agent is an open-source, automated Python solution created by K-Sricharan designed to solve one of the most tedious challenges in software engineering today: tailoring resume bullet points and cover letters for dozens of tech job listings while keeping application records organized.
Applying to job listings manually often forces applicants to choose between quality and quantity:
- Mass applying with a static resume: Leads to low ATS (Applicant Tracking System) match rates because target keywords vary across companies.
- Manually customizing every application: Takes 30–45 minutes per role to rewrite summaries, align bullet points, draft cover letters, and log spreadsheets.
- Generic AI generators: Often fabricate skills, hallucinate work experience, or produce obvious ChatGPT boilerplate that recruiters immediately reject.
The AI LinkedIn Jobs Agent solves all three bottlenecks by using high-speed Groq API inference (llama-3.3-70b-versatile and llama-3.1-8b-instant). It parses your master CV, strictly grounds its reasoning in your real accomplishments, outputs print-ready PDFs/Word files, and logs everything to a tracking Google Sheet.
Real-World Uses & Benefits
Process 20+ tailored job applications in minutes rather than spending hours copy-pasting descriptions and manually reformatting Word documents.
The agent prompt engineered in groq_client.py strictly forbids inventing job titles, companies, dates, or unlearned technologies.
Along with match scores, the LLM analyzes job descriptions to generate 3–5 candidate-specific technical topics to review before interview calls.
Automatically populates columns for Job Title, Company, Match Score, Acceptance Probability, Interview Prep Topics, and Date Applied.
How the Agent Works (Architecture Flow)
The project follows a modular, resilient pipeline architecture executed in Python:
+-------------------+ +-------------------------+
| my-cv.pdf | | linkedin_ai_jobs.json |
| (Master Resume) | | (Scraped Job List) |
+---------+---------+ +------------+------------+
| |
v v
[Extract CV Text] [Parse Job Listings]
| |
+--------------+--------------+
|
v
+---------------+---------------+
| Groq LLM Evaluator | (groq_client.py)
| - Match Scoring (1-10) |
| - Acceptance Probability |
| - Factual CV Bullet Tailor |
| - Cover Letter Generation |
+---------------+---------------+
|
v
+---------------+---------------+
| Document Compiler | (doc_generator.py)
| - PDF Compiler (ReportLab) |
| - DOCX Compiler (docx) |
+---------------+---------------+
|
+--------------+--------------+
| |
v v
+----------+----------+ +----------+----------+
| outputs/ Directory | | Google Sheets API |
| (Sanitized Folders) | | (Live Status Tracker)|
+---------------------+ +---------------------+
Deep Dive into Core Components
1. Job Compatibility & Match Scoring Engine
The agent evaluates the text from your master CV against each target job description. It calculates an integer match score out of 10, provides reasoned justification, estimates acceptance odds (High/Medium/Low), and extracts specific interview preparation topics relevant to the company.
2. Factual Resume & Cover Letter Tailoring
Using strict system prompts in groq_client.py, the model reorganizes bullet points, highlights relevant technical keywords, and crafts tailored 3-4 paragraph cover letters connecting real candidate projects to employer requirements.
3. Multi-Format Compiling (ReportLab PDF & Word DOCX)
Implemented in doc_generator.py. Generates styled PDF files using ReportLab (Deep Navy #1A365D primary accents, standard 0.5" margins) and fully editable Word .docx documents.
4. Automated Google Sheets Tracking
Integrated via sheets_client.py. Supports both OAuth 2.0 User Credentials and Service Accounts. Automatically checks for existing entries to prevent duplicate rows.
Project Repository Layout
├── main.py # Main CLI orchestrator (CV parser, batch runner, console reporter)
├── groq_client.py # Groq LLM client (match scoring, CV bullet tailor, cover letter writer)
├── doc_generator.py # PDF (ReportLab) & Word (.docx) layout compilers
├── sheets_client.py # Google Sheets OAuth 2.0 & Service Account API integration
├── my-cv.pdf # Master CV input file (Place your resume here)
├── linkedin_ai_jobs.json # Input target job listings (Parsed JSON format)
├── linkedin_ai_jobs.csv # Alternative CSV-formatted job listings
├── requirements.txt # Python package dependencies
├── .env # Local environment variables (GROQ_API_KEY)
├── client_secret_*.json # Google Cloud OAuth Client ID secret (Optional)
└── outputs/ # Output directory for customized application files
└── Company_Job_Title/ # Auto-sanitized folder per job listing
├── tailored_cv.pdf # Print-ready tailored PDF resume
├── tailored_cv.docx # Fully editable Word document resume
├── cover_letter.pdf # Print-ready tailored cover letter PDF
└── cover_letter.docx # Fully editable Word cover letter
How to Setup and Run Locally
Step 1: Clone Repository & Install Dependencies
Clone the repo and initialize a Python virtual environment:
Step 2: Configure Environment Variables
Create a .env file in the project root with your Groq API key:
Step 3: Setup Google Sheets Integration
Copy your target Google Sheet ID from its URL and set it in main.py:
Step 4: Prepare Inputs & Run Agent
Place your master CV as my-cv.pdf and target listings as linkedin_ai_jobs.json, then execute:
Technologies & Libraries Used
Explore & Contribute on GitHub
The AI LinkedIn Jobs Agent is open-source. Clone the repository, customize the prompt logic, or submit pull requests to enhance the document compiler templates!