⚡ JobAgent - Autonomous Multi-Platform AI Job Application Agent
An autonomous AI agent designed to search, evaluate, match technical skills, dynamically fill application forms, and submit job applications across LinkedIn Easy Apply and Naukri.com Quick Apply.
Equipped with a Web UI Control Center, Interactive Conversational AI Chat, ATS Resume Reviewer, Multi-Page Pagination, and Strict Technical Skill Matching.
📌 IMPORTANT NOTES FOR NEW USERS (READ BEFORE FIRST RUN)
🚀 Quick Start (Under 60 Seconds)
1. Install via pip
pip install --upgrade jobagent
2. Launch JobAgent
Run in any terminal (PowerShell, Command Prompt, macOS/Linux Terminal):
jobagent
On your first run:
- JobAgent guides you through an onboarding wizard to configure your resume, target roles, location, and CTC preferences.
- Select Option
[1]to log into your LinkedIn / Naukri accounts once. - Select Option
[2]to start applying, Option[5]to launch the Web UI Dashboard, or Option[3]to chat with the agent!
🎮 Interactive Menu Options
When you run jobagent, you are greeted with the interactive assistant:
=====================================================
AI Job Application Agent CLI
Autonomous Multi-Platform Applications: LinkedIn & Naukri
=====================================================
What would you like to do?
[1] 🔑 Sign In / Verify Platform Accounts (Save LinkedIn & Naukri login permanently)
[2] 🚀 Direct Apply to Jobs (LinkedIn, Naukri, or Both)
[3] 💬 Chat with Agent (Search & apply, update details, ask questions)
[4] 📋 View All Applied Jobs (Full history, links & status)
[5] 🖥️ Launch Professional Web UI Dashboard
[6] 📄 Run AI ATS Resume Review & Gap Analysis
[7] ✏️ Edit Candidate Profile & Preferences
[8] 📎 Update Resume PDF
[9] 📊 View Session History & Memory Rules
[0] 🚪 Exit
💻 CLI Command Line Shortcuts
You can also run specific modes directly via CLI flags:
| Command | Action |
|---|---|
jobagent |
Launch interactive menu |
jobagent --signin |
Open visible browser to sign into LinkedIn/Naukri and save session |
jobagent --ui |
Launch Web UI Control Center at http://127.0.0.1:8000 |
jobagent --chat |
Start interactive conversational chat mode |
jobagent --applied-jobs |
View full history table of applied jobs (with local timestamps) |
jobagent --review-resume |
Run AI ATS Resume Review & Gap Analysis |
jobagent --keyword "SDET" --location "Hyderabad" --max-jobs 10 |
Direct search & apply |
jobagent --keyword "QA" --dry-run |
Run in safe simulation mode (no submissions) |
jobagent --auto-approve |
Autonomous mode (skips manual confirmation step) |
🧠 Core Architecture Highlights
1. Strict Technical Skill Matching & Incompatible Stack Gate
- 50% Technical Skills | 30% Experience Fit | 20% Role Relevance.
- Detects incompatible programming languages and frameworks (e.g. skips Python/C# postings if candidate's core stack is Java/Selenium/Playwright).
- Requires at least 50% technical match before proceeding; non-matching posts are automatically skipped and logged with clear reasoning.
2. LinkedIn Multi-Page Search Pagination & Query Precision
- Supports paginating across pages (
start=0, 25, 50, 75...) to process up to 100+ job applications. - Enriches short queries (e.g. expanding
"QA"to'"QA" OR "Quality Assurance" OR "SDET" OR "Test Automation"') to eliminate irrelevant postings. - Deep scrolling ensures up to 25 job cards per page are extracted.
3. Dynamic Form Filling & Memory Engine
- Traverses multi-step Easy Apply and Quick Apply modals.
- Intelligently maps text fields, dropdowns, radio buttons, numbers, and resume uploads.
- Remembers previously answered employer questions (e.g., notice period, CTC, work authorization) in local memory so you never answer the same question twice.
4. Human-in-the-Loop (HITL) Gate
- Pause before submitting each job application to inspect candidate CTC, notice period, and match breakdown, or enable Auto-Apply for 100% autonomous operation.
🛠️ Troubleshooting & FAQs
Q: Why is LinkedIn asking for login again?
Run Option [1] 🔑 Sign In / Verify Platform Accounts (or jobagent --signin). Sign into LinkedIn completely in the open browser. Once verified, session cookies are saved to .browser_context/ and persist indefinitely across all future runs.
Q: What happens if LinkedIn prompts for 2FA or CAPTCHA?
JobAgent detects security challenges, pauses automation, and displays an alert in the console. You can approve the prompt on your mobile LinkedIn app or solve the CAPTCHA in the open browser. The agent automatically detects verification and resumes where it left off.
Q: How do I change my target location, role, or CTC?
- Select Option
[7] ✏️ Edit Candidate Profile & Preferencesfrom the interactive menu. - Or select Option
[8] 📎 Update Resume PDFto upload an updated resume.
Q: Do I need an OpenAI or Gemini API Key?
An API key is optional. If you supply GEMINI_API_KEY or OPENAI_API_KEY, JobAgent uses LLM semantic reasoning. If left empty, JobAgent's built-in offline NLP heuristics perform deterministic extraction and matching automatically.
📄 License
MIT License. Created & maintained by Yaswanth Asapu.
Metadata
Release files for jobagent 1.0.22
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| jobagent-1.0.22.tar.gz | 131.7 kB | Without provenance | Details for jobagent-1.0.22.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| jobagent-1.0.22-py3-none-any.whl | Python 3 | none | any | Details for jobagent-1.0.22-py3-none-any.whl |
Total release size: 274.2 kB
Release files / jobagent-1.0.22.tar.gz
| Download URL | jobagent-1.0.22.tar.gz |
|---|---|
| Size | 131.7 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
9a6c0247f1f341a175363dc3d7b30ae8760b205bd372d66823feb0214b2664e4
|
|
BLAKE2b-256 checksum How to use checksums |
0845609cbbba9683b5310b4ceae508a8457fa892c08a9bba0fdf3263e1c2fc5b
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.5
|
Release files / jobagent-1.0.22-py3-none-any.whl
| Download URL | jobagent-1.0.22-py3-none-any.whl |
|---|---|
| Size | 142.5 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
902ac1777de7d2ab5f06d79a2efd9646f972189a09e119325c490c20140ae899
|
|
BLAKE2b-256 checksum How to use checksums |
5acf94ff1f49e89aa7f2707423d25a6b4b5f9cc738857fed19b16ef1a6dfe166
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.5
|
Security for jobagent 1.0.22
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.