jevscreen

Screening judgment, as an API

The model scores. Your policy decides.

Send CV text and a role profile in one POST. Scores, confidence, and a tier come back in ~150ms. No prose to parse.

POST /v1/screen · 200 OK · ~150ms

One request in. One typed answer out.

Typed fields, not paragraphs. Your code branches on numbers, never on parsing prose.

request
POST /v1/screen
X-API-Key: jsk_…

{
  "role": "ai-community-admin",
  "applicant": { "cv_text": "full CV text…" }
}
a real response, unedited
{
  "model": "jev-1.13.0",
  "usage": { "input_tokens": 1041, "output_tokens": 115 },
  "dimensions": {
    "ai_depth":       { "type": "score", "normalized": 0.77, "confidence": 0.93 },
    "community_exp":  { "type": "noul", "probability": 0.97 },
    "communication":  { "type": "score", "normalized": 0.79 },
    "self_direction": { "type": "noul", "probability": 0.92 },
    "red_flags":      { "type": "choice", "choice": "none" }
  },
  "composite": 0.936,
  "confidence": 0.93,
  "tier": "shortlist"
}
  • Four scored dimensions: AI depth, community experience, communication, self-direction.
  • A 0 to 1 composite, a confidence value, and one of three tiers: weak, review, or shortlist.
  • Contact details are redacted before the judgment model ever reads the CV.
  • noul is our yes/no primitive: the probability a condition holds, with no separate confidence.

The tier is arithmetic, not opinion.

Thresholds are plain numbers in your config. You change them like any other constant, and the next request obeys.

the tier function, in full
if (confidence < 0.6)      return "review";   // the gate. always.
if (composite  >= 0.7)     return "shortlist";
if (composite  <  0.35
    && consistent_lows)      return "weak";
return "review";
  • A hard confidence gate. Below your floor, the tier is review. A human looks at it. Every time.
  • No reject exists anywhere in the API. Jev is decision support. Your policy makes the call.
  • Every tier traces to numbers you hold. Dimension scores, composite, threshold. Recompute any decision yourself.
  • The response is the receipt. No hidden weights, no vendor scoring you cannot audit.

Who tunes the rubric? Your team does.

Questions, weights, thresholds: a role profile is plain JSON. Your recruiting lead tunes it, and the next request uses the new profile.

ai-community-admin
{
  "weights": {
    "ai_depth":       0.4,
    "community_exp":  0.3,
    "communication":  0.2
  },
  "policy": { "shortlist_above": 0.7 }
}

Hands-on AI practice weighted highest.

support-engineer
{
  "weights": {
    "ai_depth":       0.2,
    "community_exp":  0.4,
    "communication":  0.4
  },
  "policy": { "shortlist_above": 0.75 }
}

Same API. Two roles. Two rubrics.

What Jev will never do.

Four architectural commitments. Each one is simply how the service is built.

CV textarrives at the API
Redactemails, phones, URLs stripped
Judgment modeltyped scores + confidencedatabase underneath
Your policyreads numbers, decidesREJECT stamp
  • Never rejects a candidate.weak, review, and shortlist are the only tiers the API can return. Your policy, not a vendor's model, makes hiring decisions.
  • Never sees contact details.Names and contact channels are stripped before scoring, so they cannot sway it.
  • Never stores applicant data.Stateless by design: the request is scored and returned, nothing is kept.
  • Never hides uncertainty.Every screen ships a confidence value, and low confidence always routes to a person.

Pay per screen.

One screen is one POST. Do your own math: at 400 CVs per opening, 2,500 screens covers six openings.

Free
$0 /month
  • 100 screens per month
  • All role profiles
  • Full response format
  • No card required
Start free
Pro
$29 /month
  • 2,500 screens per month
  • About six 400-CV openings
  • Custom role profiles in the dashboard
  • Usage metering dashboard
Request Pro access
Scale
$99 /month
  • 15,000 screens per month
  • 37+ openings a month
  • Custom role profiles in the dashboard
  • Priority support
Request Scale access

Early Access: the free tier is live today; paid plans open soon. Questions to hi@arsana.cloud.

Your next opening has 400 CVs.

Get a free API key, send one real CV, and read the typed answer. If you do not trust the tier, change the thresholds. They are yours.

Free tier. Stateless. Your policy decides.