Job Application Agent by Ken IsiahoJob Application Agent by Ken Isiaho

Job Application Agent

Ken Isiaho

Ken Isiaho

Job Application Agent

An autonomous agent that searches job boards, scores each listing against a candidate profile using a local LLM, and submits applications through ATS portals. No API key required.

Overview

What it does

Job hunting at scale is repetitive and time-consuming. This agent automates the mechanical parts: finding listings, filtering noise, tailoring application materials, and submitting forms, while keeping a human in the loop for edge cases and borderline fits.
The core design is a configurable threshold gate. The agent applies automatically above a high-confidence score, flags listings for manual review in the middle band, and silently skips poor fits. Nothing gets submitted without clearing the bar.

How It Works

Four-stage pipeline

1. Search

Scrapes configured job boards (Indeed, Glassdoor, and others) using JobSpy. Each listing ID is stored in a local SQLite database so no listing is ever processed twice. Listings matching any excluded keyword are dropped before analysis.

2. Analyse

Each new listing is sent to a locally running Ollama model alongside the candidate's master resume. The model returns a fit score (0-100), a rationale, identified gaps, rewritten resume bullets, and a tailored cover letter.

3. Gate

Scores below the review threshold are skipped. Scores in the middle band are flagged with the listing URL for manual action. Scores at or above the auto-apply threshold proceed to submission.

4. Apply

Playwright fills and submits application forms on Greenhouse and Lever portals. Unsupported portals (LinkedIn Easy Apply, Workday) are flagged for manual action rather than attempted with fragile heuristics.

Design Decisions

Key choices that matter

Local LLM via Ollama: no API key, no cost, no data leaving the machine
SQLite deduplication: stateful across runs without a database server
Threshold gate: automation only where confidence is high; humans handle the rest
Portal-specific handlers: explicit support per ATS rather than brittle generic selectors
Dry-run mode: search and analyse without submitting any applications

Stack

Tools involved

Python 3.12
uv
JobSpy
Ollama / Llama 3.2
Playwright
SQLite
Rich
Like this project

Posted May 24, 2026

An automated agent for job applications that uses LLMs to score and submit applications efficiently.