AI Projects · live

Job Radar

Every morning a script pulls every product-management posting from 23 companies I'd consider working for, and a Claude run scores each one against a rubric I wrote about what I actually want. I see only the ones worth a look.

What it does

Two jobs a day. Around 5am Denver time a GitHub Action fetches the PM postings from each company's own job board and commits the day's new ones to a repo. At 6:52am a scheduled Claude task reads each new posting in full, scores it 1 to 5 against the rubric, and writes anything scoring 3 or above to a Notion table with a one-line "why" a recruiter could read. Anything that scores a 4 or 5 also lands in my attention queue the same day; everything else waits for a Sunday review item that lists the week.

I mark each row Interested or Not for me, sometimes with a note. The notes get folded back into the rubric, so the scoring drifts toward my actual judgment rather than my first description of it. It has been running since October 5 and reads about a hundred postings a week so I don't have to.

Why I built it

I'm planning a year away from full-time work, and the plan assumes the main levers for the next job are people and stories, not applications. But a rare ideal role can appear at any time, and I didn't want to spend an hour a week scanning career pages to catch it. The Radar is a passive net: it watches, I decide. It also turned out to be the cleanest small example of the shape I think most useful agents will take: fetch on a schedule, score against a written point of view, bring only the decisions to a human.

How it's built

Company boards Greenhouse · Lever · Ashby Workday · Eightfold Rippling · Shopify ~20 companies, one adapter each GitHub Actions 5:17am fetch_jobs.py PM title regex, exclusions commits data/new/<date>.json fetch Claude scoring run 6:52am, reads RUBRIC.md latitude > level > problem space score 1-5 + one-line why level signal, workplace, pay band reads RUBRIC.md a written point of view Job Radar table score ≥ 3, with the why Attention Queue only 4s and 5s Command Center tile top 3, counts, newest Tyler Interested · Not for me · notes his calls and notes revise the rubric Never automated: applying, replying to recruiters, marking a role Not for me.
Fetch on a schedule, score against a written rubric, surface only the top scores. The rubric, not the model, is where the quality comes from, and my calls are what revise it.

The code, prompts and evals are on GitHub: github.com/chez-san-cmd/job-radar. The README has the implementation details this page leaves out.

What I learned

The hard part is not the model. It is the rubric. The scoring got good the week I stopped describing jobs I'd like and started writing down what I was actually optimizing for, including the uncomfortable parts: pay floor, hours, how AI-native a team is. The model was fine from day one. My own clarity was the bottleneck.

Flags beat filters. My first instinct was to filter out roles in other cities. Keeping them visible as a capped score instead leaves room for the conversation I actually want to have, which is whether the role could be rescoped to remote.

Some boards don't move. Shopify's careers page is one evergreen posting, so the Radar will almost never show anything new there. For companies like that, a person on the inside matters more than a feed.

Scheduling is the flaky part. GitHub's cron has run hours late, so scoring sometimes ran before the day's fetch landed. The fix (start scoring when the fetch finishes, not at a fixed time) is the kind of plumbing that takes more of the week than any prompt.

Status · October 2026

Live since October 5, 2026. Watching 23 companies. A cleaned-up public version, with the fetch adapters, a RUBRIC.md template and the evals I use to check the scoring, goes up on GitHub in mid-November with a Show HN post. Until then the repo is private; the link above will go live when it does.

← All projects

Click anywhere or press Esc to close.