Crawl
A local Python agent crawls three job boards directly and parses Gmail alerts for two more that block scrapers.
002 / SYSTEM DESIGN

A five-source job search collapsed into one scored, self-updating Trello pipeline.
01 — THE PROBLEM
Reviewing job postings across five sources a day was costing hours mostly spent on roles that didn't fit.
02 — CONSTRAINTS
03 — THE SYSTEM
A local Python agent crawls three job boards directly and parses Gmail alerts for two more that block scrapers.
A keyword pre-filter runs first to keep API costs under control.
Every listing gets scored against a detailed personal rubric via the Claude API before a card is ever created.
Rejections and interview invites auto-move cards based on incoming email signals — no manual updates, ever.
04 — DECISIONS
Nothing enters Trello until it's been checked against a real rubric, not just keyword matched.
Rejections and invites move the pipeline forward on their own, based on incoming email signals.
05 — RESULT
Five sources a day, most of it spent on roles that didn’t fit. A triage layer felt more useful than more tabs, so a fully deployed local Python agent now crawls three job boards directly and parses Gmail alerts for the two that block scrapers outright.
Every listing gets scored against a detailed personal rubric before a Trello card ever gets created, with a keyword pre-filter running first to keep API costs down. Rejections and interview invites move their own cards based on incoming email signals — no manual updates, ever.