Summary: Jev is TypeSafe AI’s System One model: unstructured text state in, typed probabilities out. It does not generate replies. LangChain put it in the agent loop. Pixeltable puts it on the row — after ASR/caption, beside the media — because a decision you cannot query later is not production. pip install pixeltable.
What Jev Is#
TypeSafe AI came out of stealth on 15 September 2026 with Jev, which the company calls the first System One model. The name is Kahneman’s fast/slow split, not a public ML standard. The product is named after William Stanley Jevons — cheaper decisions, more decisions — which is a different claim from the Jevons Paradox post we already published about re-computation. Founders: Diogo Almeida, Sasha Sheng, Erik Gafni. Seed: about $40M, DCVC-led, per Business Wire.
Jev is not a chatbot. You send one state (a string, a JSON object, or an array of text) and a map of typed questions. You get one typed answer per question, with probabilities. Questions in a request share state, run in parallel, and do not condition on each other. Current alias: jev-latest, which docs pin to jev-1.13.0. HTTP: POST https://api.typesafe.ai/v1/systemone.
Three primitives, from TypeSafe’s docs:
| Type | Ask | Returns |
|---|---|---|
| Noul | Is this statement true? | noul in [0, 1]. No separate confidence field. |
| Choice | Pick from options you define (up to 255) | choice, probabilities, confidence |
| Score | Place the state on ordered levels you write (2–10) | score, legend, probabilities, confidence |
A Noul is P(yes). A Choice distribution sums to 1. A Score can land between levels; the docs say not to interpolate it back into a fake magnitude. Training term: RLCD — Reinforcement Learning for Calibrated Decisions. Calibration is group-level. It does not make a single call correct.
Native request, shortened from the docs — not LangChain’s wrapper:
Answer shape: { "is_urgent": { "type": "noul", "noul": 0.999 } }. Your code owns the threshold. Jev does not send the Slack page.
Why It Took Over the Timeline#
Four days. Launch blog 15 Sep. Hacker News ran the launch post to roughly 1,900 points. Almeida’s launch tweet was the credential + speed/cost blast. Then distribution: Vercel AI Gateway listed typesafe-ai/jev (waitlist bypass). Cloudflare listed typesafe/jev. LangChain shipped langchain-typesafe on 17 Sep.
Demos people actually clicked:
- Nathan Flurry — the accurate social frame: a really smart switch statement. Does not replace GPT or Claude. Classifies, routes, scores, guardrails, labels rows.
- Guillermo Rauch — Vercel’s
fxsafety reviewer: up to 18× faster at p95 than GPT-5.6 Luna on their classifier, plus a claim of higher accuracy. That is Vercel’s measurement, not TypeSafe’s 193× homepage chart. - Ryan Vogel — inbox classification at batch scale (later told as ~1,700 emails / 18¢ / ~200 ms on Greg Isenberg’s YouTube). Accuracy unpublished. Vogel also said not to use Jev as a trading brain.
- Kyle Jeong / Browserbase — Stagehand + Jev: accessibility tree as state, actions as questions.
- Gregor Žunič / Browser Use — “Jev Ultrafast” Google Flights clip. HN later noted the timer starts after first page observation.
- Jarrod Watts — live trading bot on a ~300 ms loop. Demo exists. Skill at trading is a different claim.
Explainers piled on: Matthew Berman’s We need to talk about Jev (repeats vendor 200× / 400× and the zero-hallucination slogan); Syntax; AICodeKing’s own playground tests. Press: Forbes on valuation and overconfidence; TechCrunch 18 Sep; The Register on the Doom demo. HN’s useful fight: the product is real, the presentation overclaims. Doom is structured game state as text, not pixels. TypeSafe says so.
What the Numbers Actually Are#
Print list price. Attribute multiples. Do not average them into a Pixeltable bench.
| Claim | Number | Who |
|---|---|---|
| List price | $0.042 / million input tokens; output free | TypeSafe models page |
| End-to-end latency | 70–500 ms (West Coast laptops, where the service is hosted) | TypeSafe launch post |
| Homepage workflow evals | 193.6× faster, 444.6× cheaper | TypeSafe, vs average of GPT-6 Astra + Claude Fable 5.1, “higher end of real world gains” |
| LangChain restatement | Up to 200× faster / 400× cheaper on classification | LangChain attributing TypeSafe, not measuring |
| Vercel fx safety reviewer | Up to 18× faster p95 than GPT-5.6 Luna | Rauch / Vercel, their classifier |
| Context | 64k tokens/request; 32k for state + longest question; text only | TypeSafe docs |
TypeSafe also wrote: “We can’t prove it isn’t subsidized.” Treat the homepage chart as a vendor workflow eval, not a public leaderboard. Third-party writeups (Every, DEV, unofficial clients) show tens-to-hundreds of milliseconds and sub-cent batches on classification-shaped jobs. Sample sizes are small. None of those numbers are Pixeltable measurements.
Type-safety is not truth. TypeSafe: matching the schema is “mathematically impossible” to violate, and the 0% type-error rate is “not empirical.” The Register: structured output does not preclude being incorrect. Jaggedness page: Jev is not a calculator, not a text generator, weak at math and multi-hop, and adversarial state can steer answers. English is best. Confidence on Choice/Score is peakedness of the distribution, not P(correct). Store the distribution. Retune the threshold later.
LangChain Put It in the Loop#
Building a Harness with Jev (Sydney Runkle, Hunter Lovell, 17 Sep 2026) is the harness-loop version. Agents still pay an LLM for every control decision. Jev is a classifier in that loop: TypeSafeClassifier for state + questions; experimental ModelRouterMiddleware to pick a chat model once per run; experimental AutoModeMiddleware to Noul listed tool calls and refuse them before execution. Docs say Auto Mode does not request human approval. Pair it with HITL if you want a person. Package: langchain-typesafe 0.0.1a2. Env: TYPESAFE_API_KEY.
Keep that when the loop is the product. Pixeltable is not a LangGraph replacement. The Pixeltable vs LangChain split still holds: LangChain orchestrates the agent; the table stores media, transcripts, embeddings, and now the judgment. See also the agent harness argument: memory, evals, and tool lineage are columns, not a hidden JSON file.
The Decision Belongs on the Row#
Jev’s contract is row in, typed scores out. That is closer to a computed column than to a chat completion. Generators write (Whisper, Gemini, CLIP). Jev scores. Code owns the cutoff. There is no first-party pixeltable.functions.jev. Wrap the official typesafe-sdk. This is not a partnership announcement.
Jev cannot see the recording. Official: text only. Pixeltable still owns the bytes. Transcribe first — the same pattern as CallSense — then pass the transcript as state. Store the full answers object, not argmax, so you can change “page on-call if urgent > 0.9” without calling Jev again.
Insert the MP3. Whisper fills transcript. Jev fills judgments. Query later: urgent calls, billing vs technical, low-confidence rows for review. The UDF is ordinary Python — same idea as Python UDFs. TypeSafeClient reads TYPESAFE_API_KEY. Same file locally and on Cloud:
Cloud needs PIXELTABLE_API_KEY and a database named pxt://org:db. Order is required: pxt db update → pxt schema update → pxt service update. pxt service run is local only. Put TYPESAFE_API_KEY in the environment the service actually runs in. We did not measure Pixeltable+Jev latency or cost. Do not quote the TypeSafe homepage multiples as ours.
Where It Fits (And Where It Does Not)#
- Judgment columns next to media. After ASR, caption, or OCR, fan out Noul / Choice / Score in one call. Extra questions mostly cost tokens, not extra RTT — TypeSafe’s claim; we are not re-running their cookbook.
- Model routing for a row. A cheap Choice that picks which generator a row should call only pays if routing is cheaper than always using the expensive model. Batch tables are the natural fit.
- Tool-risk before a write. Same pattern as LangChain Auto Mode, stored on the row: Noul the proposed drop/publish/external call. Block vs HITL vs allow is application code. Jaggedness: this is not prompt-injection proof.
- RAG passage gates. Noul per retrieved chunk; keep the probability with the chunk. Complements DocuVision and data-centric RAG — it does not replace the index.
- Confidence-gated review. Low-confidence Choice/Score rows go to a human table. Then you can measure calibration against labels over time. That is more defensible than repeating 193.6×.
Not a trading brain. Not a vision model. Not a chatbot. Not a drop-in LLM. Forcing generation by chaining Choices is exactly what TypeSafe says will be slow and bad. The AI automation workflow is still the table: insert a row, computed columns run. Jev is one of those columns when the job is a decision.
Sources#
- Introducing System One Models and Jev
- TypeSafe docs · models and price · jaggedness · workflow evals
- LangChain: Building a Harness with Jev
- Vercel AI Gateway changelog
- Hacker News launch thread
- The Register · TechCrunch
People Also Ask#
What is Jev? TypeSafe AI’s System One model: unstructured text state in, typed probabilities out. It does not generate replies. LangChain put it in the agent loop. Pixeltable puts it on the row — after ASR/caption, beside the media.
Jev vs an LLM? LLMs generate tokens. Jev returns Noul / Choice / Score. Use an LLM to write. Use Jev to decide. Thresholds live in your code.
Does Jev hallucinate? It cannot emit a value outside the schema you defined. It can still pick the wrong allowed answer. Confidence is not correctness.
Can Jev see images or video? No. Text only. Caption or transcribe in Pixeltable, then call Jev on that text.
Jev vs LangChain Auto Mode? Auto Mode gates tool calls in the loop. Pixeltable stores the judgment as a column you can query and version. Keep both if you run LangChain agents on top of a table.
How does Pixeltable use Jev? A @pxt.udf around typesafe-sdk. Not a built-in provider. pip install pixeltable.
Keep the Generator. Add the Judgment.#
The internet is right that classification was an expensive LLM habit. It is wrong if it treats Jev as a new ChatGPT, a vision model, or a Pixeltable benchmark. Declare the schema. Transcribe the media. Score the text. Query the probabilities. That is the production shape.



