Skip to content
Beacon

How the AI works

Model-agnostic, and honest about it

Beacon does not exist without modern language models, and it is not tied to any one lab. Here is the routing, the escalation rule, the fallback chain, and the check that enforces honest tailoring in code rather than trusting it to the prompt.

Why a model at all

Because the input is prose

A rules engine can find the word “Python”. It cannot find distributed-systems experience written as “architected the ingestion layer for a 40 TB data warehouse”, and it cannot judge whether that background is a strong or partial match for a role asking for “large-scale infrastructure”, because that judgment lives in the thousands of job posts and resumes the model has seen.

The harder half is honest tailoring. Rewriting a bullet so it speaks to this role without changing the facts, in the person's own register, is a writing problem. That is the part job seekers pay for and it is the part only a language model does well.

So the model is the engine, and betting the product on one lab would be a mistake. Everything above this layer asks for a task, not a model. This file decides which model answers. Changing a route is one line; adding a lab is one case.

The pipeline

What the model is actually asked

01routed to gpt-4.1-nano

Classify the role

A fast, cheap model reads the job post and works out the role title, seniority level, and domain. This triage pass gives the tailoring step cleaner context and costs almost nothing. Getting classification wrong skews everything downstream.

02routed to gpt-4.1-mini

Score the fit and find matches

The balanced model reads the full job post and the full resume together in one pass. It scores fit from 0 to 100, calibrated to the market, and finds the requirements the resume genuinely meets. For each match it returns a verbatim quote from the resume as evidence. Any match whose evidence is not exactly in the resume is dropped before you see it.

03routed to gpt-4.1-mini

Tailor the resume honestly

The model rewrites the summary and the most relevant bullets to speak to this role, using only what is in the resume. No invented employers, titles, degrees, metrics, or projects. Each tailored bullet traces back to a source line in the real resume. The full tailored resume comes out as clean plain text.

04routed to gpt-4.1-mini

Draft the cover letter

A separate pass because writing and judging are different jobs and may benefit from different settings. The cover letter is specific to this company and role, 200 to 300 words, drawn from the tailoring context so it is consistent with the resume rather than a separate document.

Routing

The table, generated from the code

This is not a diagram somebody drew. It is rendered from the same routing table the tailoring engine reads, so if it is wrong here it is wrong in production.

StepModelProviderTierUSD per M tokens
Score the fit and tailor the resume honestlygpt-4.1-miniopenaibalanced$1.60
Draft the cover letter for this rolegpt-4.1-miniopenaibalanced$1.60
Build the interview-prep setgpt-4.1-miniopenaibalanced$1.60
Work out the role and senioritygpt-4.1-nanoopenaifast$0.40

Escalation

Above roughly 24,000 characters, the job post and resume combined, the pass escalates to the frontier model rather than the balanced one. Long or unusual roles need more reasoning capacity and the cost difference is worth it.

Fallback

If the routed model fails or returns nothing, the call walks a chain of candidates from other tiers and other labs before giving up. One provider having a slow afternoon should not cost a job seeker their tailoring.

Honesty check

Every evidence quote is located in your actual resume before it is shown, and the full response is validated against a schema. A quote that does not appear is dropped and counted. This is the only part of the pipeline the model does not get a vote on.

Candidates

What is wired, and what is one key away

Every model below sits behind the same interface. Adding a lab is one case in one file, which is the entire point of building it this way.

gpt-4.1

frontier

openai · 1,000,000 token context

  • long or unusual job posts
  • senior and leadership roles
  • career changes where the fit is not obvious

gpt-4.1-mini

balanced

openai · 1,000,000 token context

  • matching a resume to a role
  • honest resume tailoring
  • cover letters and interview prep

gpt-4.1-nano

fast

openai · 1,000,000 token context

  • role and seniority triage
  • quick keyword extraction

claude-sonnet

frontier

anthropic · 200,000 token context

  • careful tailoring that keeps your voice
  • cover letter tone

gemini-flash

fast

google · 1,000,000 token context

  • scanned resume cleanup
  • bulk role triage

llama-open

open

meta · 128,000 token context

  • self-hosted tailoring for privacy-sensitive users

In this deployment the OpenAI and Anthropic adapters are written and the OpenAI one is live. The rest are declared with their real model names and switch on when their key is present. No model is trained on customer resumes or application data, by us or by our providers.