Interstitial Studios · Independent Build

Model labels. Math decides.

An adversarial job-pursuit operator that reads a job description and a resume, then returns Apply, Apply with Caution, or Do Not Apply. The language model labels what it sees. Plain code does the arithmetic and shows its work. The model never touches the number.

Paste a job description and a resume. Ninety seconds to a scored, traceable recommendation you can check by hand.

This is the live application, not a mockup. Paste a job description and a resume to run a real score.

LLM-as-Judge Is Unaccountable

Ask a model for a 0 to 100 fit score and it returns 72 with no traceable reason. Left to judge on its own, it over-penalizes: it reads "React strongly preferred" and weighs the gap like a hard requirement. You can't defend the number, and you can't ship a decision built on it.

The model labels. The arithmetic decides.

The LLM does what it is good at: reading and labeling. Plain code does the math. Same inputs produce the same score every time, every weight stays visible, and the model never touches the number itself.

Three Layers, One Rule Each

visibilityLabel

The model tags each line of the job description: tier (required or preferred), centrality (core, supporting, or peripheral), and status (meets, partial, or missing), then tags the resume's matching strengths. It hands over labels, not a score.

functionWeigh

Weight equals tier times centrality. A preferred, peripheral gap weighs about 0.10 against a required, core gap at 1.0, roughly a tenth as much. Base score is 100 times one minus the normalized gap, plus an edge bonus, with a hard ceiling of 95.

Required 1.0 · Preferred 0.35 · Core 1.0 · Support 0.6 · Peripheral 0.3

shieldGuard

A required-gate cap holds the score at 45 or below when two or more core, required items are missing, and preferred items can never trigger it. A confidence floor clamps thin input to a 40 to 65 band. A benchmark can advise, but it never votes.

Personas, walled off from the score: three adversarial evaluators, a recruiter, a hiring manager, and an internal advocate, each lean advance, fence, or cut, and the majority sets the recommendation. They color how the recommendation reads. They never touch the number. The score stays with the math.

Three Ways to Check the Work

"Paste in a job posting and your resume and it tells you whether to apply, where you would get screened out, and what to fix before you do. The neat part is the model never picks the number, the code does, so the same inputs always give the same answer. Comes with a 90-second check anyone can run themselves."

Jake Van Clief, founder of Eduba, describing Job-Fit after selecting it for a shout-out in his AI operator competition.

See his comment on LinkedIn arrow_outward

Acceptance Test

React listed as strongly preferred, with AI-native design as the actual differentiator. The gap needs to read as friction, not a wall.

95 / 100 Strong Candidate Apply

Control: flip React to required, core, and missing, and the same engine correctly caps the score.

45 / 100 Do Not Apply

8 of 8 checks passed. The word React lives only in the test file. The engine keys off the job description's own wording, never a hardcoded skill.

A Real Run

A geospatial role at a climate-tech company, requiring a core capability I don't have. Honest gradation, not flattery.

45 / 100 Long Shot
Overloaded RecruiterWould cut
Hiring ManagerWould advance
Internal AdvocateOn the fence

The tool still surfaced AI-systems depth as the real differentiator, plus a neutralization play for the gap. The room split, so the tool said so instead of forcing consensus.

What This Doesn't Prove

01

The personas are simulation. They have not been validated against real hiring panels, and I have no data on how closely they track actual reviewer behavior.

02

The score is a calibrated heuristic, not a proven one. There is no hire-outcome data behind it yet. If asked how I know 95 is right, the honest answer is: not yet, but I can show exactly how it's computed.

03

Weak as a business, strong as proof. The sellable asset here is the architecture pattern, not the job-search app itself.

One Example Is a Trick. Two Is a Discipline.

Next: Ravvel

A travel planner built on the same principle. Budget math and safety-critical facts, emergency numbers, embassy details, move out of the LLM entirely and into a deterministic, verified layer with provenance. The model keeps only soft guidance. Same pattern, higher stakes.

I design AI products people can trust enough to ship: behavior shaped, bounded, and explainable by design.

Trust isn't the brake on these systems. Used well, it's the edge.