Jev is not a smaller chatbot. It's a different kind of model.
TypeSafe built Jev for decisions inside software: state in, typed answers out, confidence you can put a threshold on.
For years the default story of AI has been chat. You type. It writes. That interface won because humans love language, and because Reinforcement Learning from Human Feedback made models extremely good at being preferred by raters.
The same loop that made ChatGPT feel magical also left a hole: if the output is a paragraph, someone still has to babysit it before the machine acts.
Chat models generate an answer. Jev evaluates a question about some state and returns a probability.
That sounds like a small difference. It changes what you can put inside software.
LLMs are usually used as generators. Jev can be used as a judgment primitive.
Diogo Almeida (who worked on the instruction-following research behind that chat era) started TypeSafe around a blunt question. Models are superhuman at conversation. Where is the automation? The answer they shipped is a model class they call System One. Jev is the first public one: less a writer, more a frontier intelligence function call.
01 · mental model
How Jev is different from an LLM
Generative models create new output from context. Jev evaluates typed questions against state and returns a probabilistic decision that code can act on.
Generative model
state / context
↓
model
↓
“Refund the customer and explain why…”
Write / explain / create
Jev
state + typed question
↓
Jev
↓
Is this request urgent?P(true) 0.91
↓
0.91 > 0.80ESCALATE
ROUTE · RANK · BLOCK · RETRY · ESCALATE · EXECUTE
Evaluate / decide
The difference is less about what the models understand and more about what software gets back from them.
An LLM can be almost anything: a plan, a poem, a tool call, a hallucination, a near-miss JSON blob. That freedom is useful for people. It is awkward for software that needs a branch.
Jev answers only the question you asked, from a shape you defined. TypeSafe calls the training approach Reinforcement Learning for Calibrated Decisions (RLCD): when the model says 0.9, you want it right about nine times in ten. That is the difference between a confidence flourish in chat and a number your code can gate on.
Chat LLM versus Jev
Chat LLM
Jev
Generate
Evaluate
Produces text / tokens
Produces probability / confidence
Usually user-facing output
Usually software-facing signal
“Create or explain something”
“How likely is this true?”
Jev does not replace a normal LLM. They occupy different roles in software.
02 · the race
Jev returns probabilities, not prose
Same shaped questions. Different clocks. Watch token streaming fight parallel answers.
LLM · tokens
{"urgent":true,"team":"billing","score":3}
One token after another. Seconds pass. Parsing still required.
Jev · parallel
urgent0.91
teambilling
frustration3.2 / 4
All answers land together. Typed. Probabilities attached.
TypeSafe publishes workflow evals where Jev sits far ahead of frontier chat models wrapped into the same structured questions on speed and cost. Exact multipliers depend on the workflow. The shape of the win is the point: answers arrive together, already typed.
On their public pricing, input is billed cheaply and there are no prose output tokens to meter. Published end-to-end times land in tens to hundreds of milliseconds on System One shaped jobs. That is the difference between a batch job and a live loop.
The decision surface is closed. Inventing a fourth department named “vibes” is not a legal move when the legal set was defined before the call.
03 · the verbs
Three question types. That is the whole API surface.
Unstructured state plus a bag of questions. Questions share the same state. Answers come back typed.
noul
Does this ticket convey urgency?
0.91
A yes probability in [0, 1]. Gate on it in code.
choice
Which team should handle this?
account
billing
technical
other
Pick from a closed set. Never invents a new label.
score
How frustrated is the customer?
0Calm
1Annoyed
2Frustrated
3Very angry
4Furious
Expected value on a rubric you wrote.
Noul asks yes/no with criteria for true and false. You get a probability in [0, 1].
Choice picks one key from a dictionary you wrote, plus the distribution and a confidence. High cardinality often means score candidates first, then choose among survivors.
Score walks a rubric you define and returns an expected value. The legend is yours, so the number means something in your domain.
04 · in code
Why Jev matters for software developers
These aren't answers shown to a human. They're decisions consumed by software.
Is this support ticket urgent?→ route it
Is this transaction suspicious?→ hold it
Is this code change risky?→ require review
Is this post actually about someone building with Jev?→ index it
Would another developer care about this project?→ rank it
Does this agent appear stuck?→ intervene
0.70 act
0.91
low · escalatemid · reviewhigh · autonomous
Confidence is not a chat flourish. It is a number your thresholds can trust.
Act when confidence is high. Ask for review in the middle band. Escalate when the probability is junk. The policy lives in ordinary if statements, not in a prompt that hopes the model “knows when to be careful.”
TypeSafe's demos make the shape obvious: a Doom bot making decisions many times a second, a Wikiracing agent choosing among hundreds of links without inventing URLs. Jev still gets things wrong. Calibration means the uncertainty is legible, so the surrounding system can absorb mistakes.
05 · when to use what
When should you use Jev?
Jev doesn't replace an LLM. It occupies a different place in the stack.
Use a generative model when you need something created: a draft, a brainstorm, code that invents structure, a conversation with a person.
Use Jev when your software needs to judge what is already there.
And if judgment becomes cheap enough, a surprisingly large amount of software starts looking different.