⚠ read-only demo — browse everything, change nothing

A job search that runs itself

This is a live demo of a personal job-hunting pipeline. The real thing works like this: every evening at 18:00 a scraper pulls fresh postings for your saved searches; overnight an LLM reads each one against your résumé and scores the fit; and by 8am your inbox is full of ranked matches — read the good ones, skip the rest, tailor a résumé in one click when you're ready to apply.
22,721
postings scraped so far
17,523
read & scored by the LLM
5,940
strong matches surfaced

What to poke at

📥Jobs
The inbox: unread matches ranked by score, apply/skip triage, and a full résumé workspace per job — AI-tailored bullet suggestions, version history, cover letters, and one-click PDFs.
📊Stats
The whole pipeline's history: application funnel (including who ghosted you), salary distribution split by seniority tier, and which job titles & companies match you most — click any title to filter everything.
⚙️Search settings
What the nightly scrape hunts for — one line per search: a title, a location, and how many results to pull.
📄Import résumé
Paste your résumé in any form — the parser structures it without embellishing a word. The more complete it is, the better the match scoring and tailoring get: it's what the LLM reads on your behalf every night.
🔬Diff lab
Side-by-side view of the master résumé vs a job-tailored version, with the changes highlighted.
Browse the inbox →
The job postings and pipeline history here are real (and refresh daily); the person is not — you're browsing as “Alex Sample”, a synthetic profile, and all writes are disabled. Built with Go, htmx, Postgres, and a self-hosted LLM eval queue.