Role Analyzer
Paste a job description and get a match score against my background, the gaps a hiring manager would see, the stories to lead with, and a compensation signal.
A faster way to triage roles, and a working AI product shipped end to end
I built it to triage roles during my own search and to learn by shipping. I wrote up how in a LinkedIn article.

What I did
A serverless function sends the posting and my profile, held in the system prompt, to Claude and renders a structured analysis styled on my design system.
How it works
Read the posting
Claude summarizes the company and decodes what the role actually asks for, beyond the job title.
Compare it to my background
The posting is matched against my experience and case studies, then scored from 0 to 100 with the reasoning shown.
Name the gaps and the angle
The report lists the risks a hiring manager would raise, the strength to lead with, and the stories to prepare.
Treat the score as a hypothesis
It measures fit with my background, not the odds of an offer. Model output is always inserted as text, never as HTML.
Decisions that matter
I switched the model from Sonnet to Haiku because the hosting plan’s 10-second timeout was cutting off responses: a real trade between quality and reliability.
The design-system migration also fixed how AI output was inserted into the page, which had been an injection risk, and a header overflow on mobile.
I call it a decision-support tool, not an agent, because loose labels make progress hard to measure and easy to oversell.
A score is a hypothesis, not a verdict.
Honest limits
It’s a build story, not a validated predictor. Until there are at least 10 outcomes showing a clear pattern, it can’t claim to forecast interviews.