1. Data source
  2. Decision schema
  3. Model inference
  4. Structured result
2 Decision schema 3 typed questions
  • requirement_fitscoremissing_must_havespartialmeetsexceeds
  • role_familychoicebackendfrontenddatadevopsother
  • needs_humannoulprobability 0–1

3 Model inference typesafe/jev-1.13

Waiting for a run.

4 Structured result

Run the demo to see the JSON answers, the highlighted pick and the final action.

Call Jev yourselfSame data and schema, straight to Flatkey. Set FLATKEY_API_KEY and run.
curl -sS https://router.flatkey.ai/api/alpha/decisions \
  -H "Authorization: Bearer $FLATKEY_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "model": "typesafe/jev-1.13",
  "state": "Role: Senior Backend Engineer. Must-haves: 5+ years backend, Go, PostgreSQL, on-call experience.\n\nResume: 7 years backend engineering at a payments company. Go and Python microservices. Led the migration from MySQL to PostgreSQL. On-call rotation lead for two years. BSc Computer Science.",
  "questions": {
    "requirement_fit": {
      "type": "score",
      "instructions": "How well does the resume meet the role'\''s stated must-have requirements?",
      "criteria": [
        "missing_must_haves",
        "partial",
        "meets",
        "exceeds"
      ]
    },
    "role_family": {
      "type": "choice",
      "instructions": "Which role family does this experience match best?",
      "criteria": {
        "backend": "Server-side services, APIs, databases",
        "frontend": "Web or mobile user interfaces",
        "data": "Analytics, data engineering or machine learning",
        "devops": "Infrastructure, CI/CD, reliability",
        "other": "None of these"
      }
    },
    "needs_human": {
      "type": "noul",
      "instructions": "The resume has a career change, employment gap or non-standard format where an automated read is likely to miss relevant experience."
    }
  }
}'

No Flatkey key yet? Get one for Jev 1.13 →

Run with real Jev

Sign in and connect a key

  1. Sign in with Google.
  2. Connect your Flatkey or OpenRouter key on the next screen. Get a Flatkey key for Jev 1.13.
  3. Come straight back here and press Run again.

This site is for researching, sharing and cataloguing Jev use cases. Your key is only there to make trying Jev convenient: it is stored encrypted, used only for runs you trigger, never used for anything else, and you can delete it anytime.

About this use case

Use Jev for resume screening: incoming state, Jev decision, routed outcome

Who / when

Audience

  • recruiting and talent-ops teams facing hundreds of applicants per opening
  • ATS and HR-tech builders adding a first-pass screen
  • engineering managers who want a consistent rubric applied to every resume

Triggers

  • a new opening collects more applications than recruiters can read this week
  • a general application needs routing to the right role family
  • you want the same rubric applied to every resume, in the same words
  • you need a cheap first pass before a human screen, not an automated rejection

The workflow

  1. 01
    Resume stateRole requirements plus resume textInput
  2. 02
    ChoiceRole family matchJev
  3. 03
    Score + NoulRequirement fit, unusual-background flagJev
  4. 04
    Code gateShortlist or recruiter reviewYour code

Question shape

{
  "requirement_fit": {
    "type": "score",
    "instructions": "How well does the resume meet the role's stated must-have requirements?",
    "criteria": [
      "missing_must_haves",
      "partial",
      "meets",
      "exceeds"
    ]
  },
  "role_family": {
    "type": "choice",
    "instructions": "Which role family does this experience match best?",
    "criteria": {
      "backend": "Server-side services, APIs, databases",
      "frontend": "Web or mobile user interfaces",
      "data": "Analytics, data engineering or machine learning",
      "devops": "Infrastructure, CI/CD, reliability",
      "other": "None of these"
    }
  },
  "needs_human": {
    "type": "noul",
    "instructions": "The resume has a career change, employment gap or non-standard format where an automated read is likely to miss relevant experience."
  }
}

Gate policy

≥ 0.90

Add to the recruiter's phone-screen shortlist with matched requirements.

0.65–0.90

A recruiter reads the resume before any decision.

< 0.65

Full human review. The system never auto-rejects.

Failure modes

Pre-launch checks before you trust auto-routing:

  • Protected attributes (name, photo, age, gender, nationality) leaking into the state;
  • Keyword-stuffed resumes that match every requirement on paper;
  • Career changers and non-linear paths whose experience is described in other terms;
  • PDF-to-text artifacts: columns merged, dates split from roles;
  • Requirements written vaguely enough that "meets" and "exceeds" overlap;
Keep exact work in code: years of experience, required certifications, location and work-authorization filters, and removing protected attributes before the call should be deterministic. Jev reads experience against the rubric; people make hiring decisions.

FAQ

How much cheaper is this than asking an LLM?

In Prasanna's zero-shot resume screening and ranking run (post below), Gemini-3.8-Flash cost about $1,500 in API costs and Jev about $14, and he found Jev "surprisingly good given how cheap it is". Costs depend on resume length and volume, so measure on your own pipeline.

Is it fair to automate resume screening?

Use it to shortlist, never to reject. Strip protected attributes before the call, keep a human on every rejection, audit shortlist rates across groups, and check the rules on automated employment decision tools where you hire.

Why a score for fit instead of a yes/no?

Ordered levels (missing must-haves, partial, meets, exceeds) keep the rubric explicit and give code a probability per level, so "meets at 0.93" shortlists while "meets at 0.70" goes to a recruiter.

Can I bring my own API key?

Yes. Try the free demo above without signing in. To run it live on your own text, sign in with Google and connect a Flatkey or OpenRouter key (a quick test call runs when you save it). Manage or delete it anytime under Dashboard → BYOK. Keys are stored encrypted on the server, used only for runs you trigger, and never sent back to the browser. Need a Flatkey key? Get one for Jev 1.13 on Flatkey.

Is this the official TypeSafe Jev product page?

No. jev-llm.com is an independent research and practice site. Verify pricing, models and terms at the original TypeSafe sources.

Sources

Seen on X
Independent-site note: jev-llm.com is an independent research and practice site. It is not the TypeSafe AI official site. Verify models, pricing and terms at the original source.