About this project
# Job Agent
An autonomous job application agent that automates the entire job search lifecycle — from discovery to application tracking.
## What It Does
Job Agent connects to major job platforms (LinkedIn, Indeed, Glassdoor, ZipRecruiter, Dice, Wellfound), discovers postings, scores them against a configurable candidate profile using AI, tailors resumes for each application, and automatically submits high-confidence matches. Medium-confidence jobs queue for manual review through a web dashboard.
## Key Features
**Multi-Platform Job Discovery**
Supports LinkedIn, Indeed, Glassdoor, ZipRecruiter, Dice, and Wellfound with rate-limiting and session management per platform.
**AI-Powered Matching**
Scores each job 0.0–1.0 against your profile using configurable AI providers: Google Gemini (free), Groq (free), Ollama (local), OpenRouter, and Anthropic Claude.
**Resume & Cover Letter Tailoring**
Auto-generates ATS-optimized resumes (PDF) and customizable cover letters per application. Supports professional, casual, and formal tones.
**External ATS Handling**
When job boards redirect to company career sites, the agent detects and fills forms on Greenhouse, Lever, Workday, Ashby, and generic application portals. Also handles screening questions and email-apply flows.
**Tiered Autonomy**
- Score ≥ 0.80: Auto-apply
- Score 0.70–0.79: Queue for manual review
- Score < 0.70: Skip
Thresholds are configurable via dashboard or YAML profiles.
**Web Dashboard**
Flask + HTMX + Bootstrap 5 interface at http://127.0.0.1:5000 with pages for overview, jobs, review queue, applications, outreach, analytics, and settings. Configure everything from the UI — no file editing required.
**Interactive Bots**
Telegram bot (long-polling, no public URL needed) and Discord bot (slash commands) for approving/rejecting jobs, checking queue status, and viewing statistics from your phone.
**Anti-Detection Browser**
Uses Camoufox stealth browser with human-like typing, mouse movement, random delays, and session rotation to reduce detection risk.
**Notifications & Outreach**
Email (SMTP), Slack/Discord webhooks, Telegram alerts. AI-generated cold emails and LinkedIn connection requests to recruiters.
**Scheduling**
APScheduler with configurable activity windows (default 8am–11pm). Run once, on a schedule, or in dry-run mode.
## Quick Start
```bash
git clone https://github.com/billmal071/job-agent.git
cd job-agent
uv sync
uv run playwright install chromium
uv run job-agent init-db
uv run job-agent dashboard
```
Visit http://127.0.0.1:5000/settings to configure AI provider, platform credentials, thresholds, and notifications.
## Profile Generation
Upload your existing resume (PDF/DOCX) in the dashboard and AI extracts skills, experience level, and target roles to auto-generate a searchable profile.
## Multiple Profiles
Supports separate profiles for different job searches (e.g., fullstack vs. devops), each with its own keywords, locations, salary expectations, and resume template.
## Docker Support
```bash
docker compose up dashboard
# or
docker compose run --rm agent
```
## Security
- Platform credentials Fernet-encrypted (key at ~/.job-agent/fernet.key)
- API keys in .env (gitignored)
- Database at ~/.job-agent/agent.db (SQLite, outside repo)
- Browser state persisted separately
## License
MIT
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.