Self-initiated · Product design + AI build · 2026 · 4 min read
Job Radar
An AI-native dashboard that watches a curated list of companies and scores each new role against my profile, so my job search starts with a verdict instead of a search.
Job Radar watches ~70 companies I chose by hand and, each morning, surfaces only the new product-design roles. Claude reads and scores each one against my profile; the apply, needs a reason, or skip call follows rules I defined, with the reasoning kept alongside. One page, checked once, tells me where to spend my attention.
On naming: in this case study, "Claude" refers to the model; "Claude Code" and the "Anthropic API" are separate Anthropic products.
On the demo: Job Radar runs locally, watching my private shortlist and reading my own scoring rules. The companies are real; I've anonymized their names in the demo.
Approach
The experiment
Every morning of my search began the same way: opening the careers page of each company I most wanted to work for, one by one, in case a role had appeared overnight. I went to the pages directly, not just the big job boards, because not every company posts to a job platform, and I didn't want to miss a role that only showed up on a company's own site. An hour gone before the day had started, most of it just to find the roles, let alone judge them.
I wanted to build an AI-native tool that would save me time during my search. I was also genuinely curious about the process itself: what it actually takes to teach an AI what a good match means for me specifically, including when to tell me not to apply, rather than just matching keywords.
The question I was testing
Could I teach an AI what a genuinely good job match means for me, so a tool could open each morning with a verdict I trust instead of a search I have to run?
Building with AI
A workflow where each tool had a different job
I built the whole dashboard end to end by directing Claude Code: the data pipeline, integrations with 18 different hiring systems, the scoring, and the interface. It runs locally on purpose, since it watches my private shortlist and reads my own scoring rules.
The look started as a design draft. I gathered interface inspiration on Dribbble, fed it to Claude, and had it generate three variations of the dashboard. I picked the direction I wanted, built it out with Claude Code, and kept refining it with my own design judgment as the real data came in. I kept the judgment for myself and let each tool do what it does best:
Claude
Design drafts and thinking partner. I fed it Dribbble inspiration and had it generate three interface variations to choose a direction from.
Claude Code
The builder. It wrote the data pipeline, the 18 hiring-system integrations, the scoring, and the interface, all directed and verified by me.
Anthropic API (Claude)
Reads and scores each role against my profile at runtime, returning the sub-scores my own rules turn into a verdict.
The build, phase by phase
Phase 01: Design draft
Gathered interface inspiration on Dribbble, fed it to Claude, and had it generate a first layout draft, so I had a concrete direction to build toward before writing any of the engine.
Phase 02: Pipeline
A linear flow: fetch every company's board, filter to product-design roles, keep only what's new, score it.
Phase 03: Integrations
Turned 18 different hiring systems into one shared format, so the rest of the app treats every role the same, no matter where it came from.
Phase 04: Scoring
Wrote the profile and prompt, broke fit into sub-scores, then computed the overall fit and verdict in code from those scores.
Phase 05: Interface
Turned the model's raw output into a single, calm verdict, then iterated on the layout in Claude Code with my own design judgment. I tuned spacing, hierarchy, and verdict styling until it read clearly at a glance on real data.
How I work
Three decisions that show how I work
The engine was the easy part. These are the calls that made the verdict something I actually trust each morning.
The verdict is a rule I wrote, not the model's guess
Claude scores the dimensions; a set of rules I defined turns those scores into apply, needs a reason, or skip, so the AI can't inflate its own judgment.
One clear judgment, not a data dump
Early versions showed every score at once; I reworked the hierarchy so the verdict reads as one decision, with the detail a click away.
I filter roles, never companies
A company with nothing today stays on the list, so the day a fitting role appears there, I catch it as new instead of missing it.
Honest notes
What worked, what didn't
What worked
- The engine came together fast; the hard part was never the code.
- The verdict and reasoning gave me a short, clear list to act on each morning, and I use it every day.
- Public hiring-system feeds gave broad, clean coverage without fragile scraping.
What didn't
- Teaching the model what "good fit" means for me took many rounds and a lot of my own judgment; keyword-style matching wasn't close.
- The first interface showed too much at once. It took my design judgment, and several rounds, to make the score and verdict read as one clear decision.
The engine came together fast. Teaching it my judgment, and making its verdict legible, was the real work.
What I'd do differently
Calibrate the scoring earlier
Calibrate the scoring against a small labeled set of roles earlier, instead of tuning by feel.
The demo
See it running
The companies are real; I've anonymized their names in this demo.
It runs locally, which was a deliberate choice. The video above shows a full morning of new roles being scored and sorted. Built with Claude Code; TypeScript and Node; 18 hiring-system integrations; Claude for scoring.
Reflection
What it demonstrates
Job Radar shows I can take an AI-native product from a personal pain to a working tool end to end: designing the model's judgment, the pipeline, and the interface. The real work was product and design judgment, defining what "good fit" means and making the verdict trustworthy and legible, not the plumbing.
Where I'd take it next
I'll keep sharpening the scoring calibration to further align it to my fit.