Blog · Build log · September 24, 2026 · James Forrester

What is Jev? The AI model that tells you how sure it is

threndle.ai build log cover: a row of nine dots showing the only readings an eight-neighbour KNN vote can give, next to a smooth confidence scale

A couple of years ago, I spent a good deal of time working with machine-learning indicators in Pine Script on TradingView. Most of the popular ones were built on KNN, and they shared the same limitation: they could tell you which way to lean, but not how much to trust that lean. On September 15, 2026, TypeSafe AI announced a model designed around exactly that problem. It is called Jev, and it is the model I most want to test this year.

Jev is a model that answers typed questions about a piece of data, such as "choose one of these options" or "score this against a rubric", and attaches a probability and a confidence level to every answer. According to TypeSafe AI, those numbers are calibrated, which means higher confidence should correspond to higher accuracy. If you are new to this build log, it is where we document what we try and what we learn, starting with why we build on Claude.

Key takeaways

  • Jev is TypeSafe AI's first "System One" model, announced on September 15, 2026. Instead of writing text, it returns typed answers with a probability and a confidence level.
  • A simple, unweighted KNN vote with 8 neighbours can only produce 9 readings (0%, 12.5%, 25% and so on), and nothing guarantees that a "75%" reading is right 3 times out of 4. Calibration is the gap Jev claims to close.
  • We have not tested it yet. It is listed on Cloudflare Workers AI as typesafe/jev, and we are waiting on access.

What is Jev?

TypeSafe describes System One models as a new class of models built for "fast, structured decisions that software can use directly". Jev takes a "state", which can be a block of text or a data object, along with a set of typed questions, and answers each question independently. TypeSafe's documentation describes three question types: Choice (select from a list of options), Score (rate against a rubric) and Noul (judge how true a statement is, from 0 to 1). Each answer comes back with a probability and a confidence level.

Unlike a chat model, Jev does not write sentences at all. TypeSafe lists giving up text generation among the model's trade-offs, and it quotes an end-to-end response time of 70 to 500 milliseconds, with input priced at $0.042 per million tokens and output free (TypeSafe AI). Cloudflare's model page lists it as typesafe/jev, with a context window of 32,000 tokens.

In short, Jev is built to make a decision and report how certain it is, rather than to hold a conversation.

How Jev answers a question A flow from left to right. Your data (the state) and a typed question (Choice, Score or Noul) go into Jev. Jev returns a typed answer with a probability and a confidence level. How Jev answers a question Your data the "state" A typed question Choice · Score · Noul Jev Typed answer + probability + confidence no free text

Here is an illustration of the shape of a request; it is not a real Jev response. The state is a customer's email, and the Choice question is "is this invoice paid, overdue or disputed?". The answer comes back as one of those three options, with a probability and a confidence level attached.

What does KNN have to do with it?

KNN (k-nearest neighbours) is a method that finds the k stored examples most similar to a new one and takes a majority vote among them (scikit-learn). In trading, that translates to a simple idea: find the moments in the past that looked most like the present, and see what happened next.

Video thumbnail: StatQuest, K-nearest neighbors, Clearly Explained

One of the most popular machine-learning indicators on TradingView, Lorentzian Classification by jdehorty, is a nearest-neighbours classifier that works over indicator readings such as RSI and ADX, and it uses 8 neighbours by default. Its author is careful to note that its trade statistics are not a substitute for proper backtesting.

The limitation I kept running into comes straight from the arithmetic. With 8 neighbours voting in a simple, unweighted vote, the result can only land on one of 9 values.

An 8-neighbour vote can only give 9 readings Nine terracotta dots spaced along a line from 0% to 100%, one for each possible vote share when 8 neighbours vote: 0%, 12.5%, 25%, 37.5%, 50%, 62.5%, 75%, 87.5% and 100%. Nothing sits between them. 8 neighbours, 9 possible readings Every reading a k = 8 vote can give 0%12.52537.55062.57587.5100% No reading in between: a 71% or an 80% is not possible.

Our take: a vote share is not a calibrated probability. Nothing in the method ensures that a "75%" reading turns out to be right 3 times out of 4. It is a count of neighbours, and that difference is what Jev claims to address.

QuestionSimple 8-neighbour voteCalibrated confidence
Possible readings9 (0%, 12.5% ... 100%)Not limited to 9 steps
Built to match real accuracy?NoYes, per TypeSafe
What a "75%" means6 of 8 neighbours agreedRight about 3 times in 4, if calibration holds
Can you set an "80% goes to a person" rule?Only as a guessYes, that is what the number is for

Why does calibration matter?

Calibration is the property that makes a confidence number mean what it says. If a well-calibrated model assigns 70% confidence to 100 separate decisions, roughly 70 of those decisions should turn out to be correct.

That property is what makes a model practical to build around, because it lets you set a clear rule. For example, anything below 80% confidence goes to a person for review, and anything above it proceeds automatically. With a raw vote, the same rule is little more than a guess presented as a threshold.

A confidence rule: run it, or send it to a person A decision comes in with a confidence level. If confidence is 80% or higher, it runs automatically. If it is below 80%, it goes to a person for review. The 80% line is an example threshold. One rule, set on a calibrated number A decision with its confidence 80% or higher Runs automatically below 80% Goes to a person first

It is also the central question in the automations we build for clients: which decisions can safely run on their own, and which need a person to look at them first. Our self-improving website already follows this pattern, with a person able to review each fix before it ships.

TypeSafe describes Jev's outputs as "epistemically honest probabilities". I have not verified that claim, and I will treat it as unverified until we have tested it ourselves.

Video thumbnail: Probability Calibration, Data Science Concepts by ritvikmath

Where else does nearest-neighbour search show up?

Spotify built Annoy, an open-source nearest-neighbour library, for music recommendations. Every song and every listener is represented as a list of numbers, and songs whose numbers sit close together are recommended together. That kind of search sits behind features such as Discover Weekly and Home. In October 2023, Spotify introduced Voyager as Annoy's successor, reporting "more than 10 times the speed of Annoy" at the same recall (Spotify Engineering). The search finds what is similar, but it does not say how likely a match is to be right, which is the number Jev is built to report.

What would we use it for first?

The first use case I want to test is music releases. The idea is to score an independent artist's release plan against what has worked for that artist before, and to get a confidence level alongside the score instead of relying on instinct alone.

Music data comes with one practical constraint: on November 27, 2024, Spotify removed access to Recommendations, Audio Features, Related Artists and several other features for new Web API apps (Spotify for Developers). The data for this project would therefore come from Spotify for Artists exports rather than from the API.

What haven't we done yet?

We have not run Jev yet. When I tried to sign in this week, TypeSafe had limited new sign-ins while it adds infrastructure to keep up with demand. We are waiting on access, and every figure above for speed, price and calibration comes from TypeSafe rather than from our own testing. Once we have access, we will test typesafe/jev on our own Cloudflare account and publish the results in the next build log, including anything that does not hold up.

If you would like to see what manual work is costing your business, the 20-second estimate shows the yearly cost before it asks for your name.

Get the 20-second estimate

About the author

James Forrester runs threndle.ai, an AI automation agency in the Fraser Valley, British Columbia, and writes this public build log about what works and what breaks. Find him on LinkedIn.