What people are actually building with Jev
Demonstrations you can watch, open-source projects you can read, and a catalogue of every deployment reported in public in the model's first days — agents, support queues, ranking, games and robots, and a consumer slice that is almost empty.
01Demonstrations
These are other people’s builds, not ours. Each still below is a frame from the demonstration its author published, and each one links back to the original post so you can watch it run and read the thread rather than take our summary for it.
Video01A browser agent booking a flight
Browser Use wired Jev into their agent loop: a new action space each step, the DOM as state, and a small language model kept only for typing. The run in the clip finds flights in seconds.
“Breaking: Browser Use + Jev = Ultrafast”
Video02Computer use, driven by classification
The screen is read with OCR and the next action is chosen from a fixed set rather than written out. Because nothing is generated, the same loop works across operating systems.
“i built computer use using @typesafeai ! it is 155x cheaper than opus 5, ~20x faster, and generalizes across OS's”
Video03Super Mario Bros played from emulator state
Structured game state goes in and a controller input comes back, fast enough to keep up with the game. No part of this is a language task.
“got @typesafeai’s new model Jev to play Super Mario Bros.”
Video04DOOM, played like a player
TypeSafe's own demonstration, which is what pushed the model into general view. The point is latency and cost per decision, not game-playing skill.
“Jev plays doom in realtime and it looks like an actual player.”
Video05Driving app and UI tests
Paired with opencode, judgment calls about what a screen is showing and what to tap next are made inline instead of round-tripping through a chat model.
“Testing apps with @typesafeai jev & @opencode will be soooo fast”
06A DuckDB extension that classifies rows
Classification as a SQL function over any CSV, Parquet file or table — the shape that makes sense when the model is cheap enough to run on every row rather than a sample.
“I made a DuckDB extension where you can use @typesafeai 's Jev to do quick classification of rows in any csv/parquet file or duckdb table”
A pattern runs through all of them. The set of allowed answers is built in ordinary code — legal moves, controller inputs, elements on a page, rows in a table — and the model only ever chooses between them. It is never asked to invent an option, which is why none of these systems need a validation layer behind the model.
02Open source built on it
The clearest evidence of what people are doing is what they published. Every repository below is public, and the star counts are from the day of the sweep rather than today.
| Repository | What it does | Language | Stars |
|---|---|---|---|
| browser-use/jev-ultrafast | Browser Use's Jev-powered agent loop: a new action space each step, the DOM as state. | Python | 1334 |
| vinnylarouge/jevlike | Training code for reverse-engineered Jev-like models you can train yourself. | Python | 562 |
| TheoLeeCJ/openjev | Can we run something like Jev on a 3090 at home? | Python | 547 |
| jarrodwatts/jev-trader | One AI trade decision every Monad block. Jev on Kuru MON-USDC. | TypeScript | 393 |
| fhshaik/typesafe-mario | A TypeSafe/Jev agent that plays Super Mario Bros. from structured emulator state. | Python | 185 |
| awlevin/typesafe-computer-use | Computer use for about $0.0002 a step: OCR the screen, classify the next action with TypeSafe, click. macOS. | Python | 149 |
| thruwire/foreman | Software Factory Foreman based on TypeSpace Jev model | Python | 100 |
| devagrawal09/jev-review | A staged code-review workflow and local dashboard built with TypeSafe Jev. | TypeScript | 88 |
| gargpratyush/jev-router | Route to the cheapest model in claude code for your task using jev-router | JavaScript | 53 |
| RomanSlack/jev-drone | Camera-only autonomous drone in MuJoCo with a small judgment model (TypeSafe Jev) in the loop at 2.5Hz | Python | 43 |
| vlad-terin/jev-browser | Jev-powered element selection for your agent’s existing computer-use tools | JavaScript | 36 |
| jkudish/jev-mcp | Proof of concept MCP for Typesafe's new Jev AI model | TypeScript | 29 |
| kitze/unclutter | WXT browser extension: Jev-powered page clutter removal with reusable template rules. | TypeScript | 25 |
| devanshbatham/commit-miner | Classify Git commit diffs and messages with Jev. Bug fixes, security fixes/CWEs, and change types. | Rust | 15 |
| ellipsis-dev/blink | Codebase search powered by Jev from @typesafe-ai | TypeScript | 9 |
| kieranklaassen/ruby_llm-typesafe | TypeSafe structured-output provider for RubyLLM 2 | Ruby | 9 |
03The shape of the demand
Counting the groups is more informative than reading them. Two thirds of everything reported is an agent, a queue or a pipeline. The consumer row is the one worth staring at if you are deciding what to build.
04The catalogue
Everything found in public in the model’s first days, grouped by the kind of decision being made. 55 of the 86 link to the exact post or comment they came from, most of them into the Hacker News launch thread. The rest were described on X by accounts whose individual posts this sweep did not capture, so they carry the handle and no link.
Rows credited to TypeSafe are the vendor describing what the model is for, not somebody else’s deployment. They are kept in because they are still the clearest statement of intent, but they are not evidence of use and should not be read as such.
Agent control and tool use (23)
The largest group by some distance. In nearly all of these Jev sits beside a chat model rather than replacing it, deciding what the bigger model should do next.
| # | What it decides | Source |
|---|---|---|
| 1 | Computer-use agent driving an operating system | @awlevin |
| 2 | Browser agent searching for flights end to end | @gregpr07 |
| 3 | Reviewing each action an agent wants to take, before it acts | @FaztTech |
| 4 | Improving which tool a model reaches for | @MichaelLee04 |
| 5 | Deciding when to retry a failed operation | @MichaelLee04 |
| 6 | Context packing — whether every token really needs to be sent | TypeSafe |
| 7 | Proactive memory formation — did we just learn something worth keeping? | iforgotmypasswo |
| 8 | Memory filing — which category to store under, which class to retrieve | iforgotmypasswo |
| 9 | Splitting a multi-intent voice command in Home Assistant | bradly |
| 10 | Criteria-based model routing | @eve |
| 11 | Routing requests between models | @DAIEvolutionHub |
| 12 | Checking another model's output before it is used | @DAIEvolutionHub |
| 13 | Detecting jailbreaks in prompts and reasoning traces | TypeSafe |
| 14 | Scoring, judging and verifying model outputs | TypeSafe |
| 15 | Operating a computer through the OS accessibility tree | postalcoder |
| 16 | Driving an AI video editor through long chains of tool calls | dthedavid |
| 17 | Intent detection | @MichaelLee04 |
| 18 | Steering model behaviour mid-run | @MichaelLee04 |
| 19 | Contradiction detection across a long conversation | @MichaelLee04 |
| 20 | Deciding whether to send a proactive follow-up message | @MichaelLee04 |
| 21 | Silence handling — whether a voice agent should speak into a pause | @MichaelLee04 |
| 22 | Safety and observability tagging | @MichaelLee04 |
| 23 | Design-by-contract enforcement around model calls | futurisold |
Customer and business operations (16)
Classification work that until now either ran on a frontier chat model at frontier prices, or on hand-written rules nobody wanted to maintain.
| # | What it decides | Source |
|---|---|---|
| 24 | Routing a support ticket to the right department | @erhanmeydan |
| 25 | Scoring ticket urgency on a fixed scale | @erhanmeydan |
| 26 | Flagging cancellation and chargeback risk | @erhanmeydan |
| 27 | Deciding whether a conversation should go to a human | @erhanmeydan |
| 28 | Reading customer anger on custom rungs: annoyed, furious, outraged | @FaztTech |
| 29 | Deciding which inbound emails auto-route and which need a person | Vercel |
| 30 | Classifying an email as a cancellation request, with an urgency level | @zubapita |
| 31 | Predicting whether a customer is about to leave | @AGTPinsights |
| 32 | Deciding whether an event is worth alerting a person about | @AGTPinsights |
| 33 | Spam detection | @AGTPinsights |
| 34 | Phishing detection at population scale | ttul |
| 35 | Fraud detection | @FaztTech |
| 36 | Invoice validation | @FaztTech |
| 37 | Billing-complaint classification | 18al |
| 38 | Front-line support resolved without a human in the loop | TypeSafe |
| 39 | Factory floor routing for questions too varied for hand-written rules | TypeSafe |
Ranking, matching and retrieval (13)
Where the job is to compare one thing against another and put a number on the fit. Several of these replaced an embeddings pipeline rather than a language model.
| # | What it decides | Source |
|---|---|---|
| 40 | Scoring a resume against a job description in a consumer hiring app | @h_nilforoshan |
| 41 | Ranking search results | @GeniusGTX |
| 42 | Picking the five most relevant articles out of a thousand | latteren |
| 43 | Genealogy person matching on names, dates and places | vintermann |
| 44 | Record linkage using household nesting | RobinL |
| 45 | Entity resolution, with blocking to keep the candidate set small | camdenclark |
| 46 | Asking whether a contract contains a given clause | ymir_e |
| 47 | Extracting key facts from energy-asset data rooms | ymir_e |
| 48 | Zero-shot classification in place of a frontier chat model | petesergeant |
| 49 | Bulk classification of a million transcripts, previously embeddings plus cosine similarity | jawns |
| 50 | Classifying rows of any CSV, Parquet file or table from inside DuckDB | @hamiltonulmer |
| 51 | Turning very large datasets into features through map-reduce | TypeSafe |
| 52 | Agentic retrieval over a large corpus while the chat UI stays responsive | consumer451 |
Code and developer workflow (9)
Mostly decisions inside a pipeline that already exists — which file to open, whether a failure is real, whether a diff obeys a written convention.
| # | What it decides | Source |
|---|---|---|
| 53 | Finding the key symbols in a codebase before generation or review | hunterbrooks |
| 54 | Evaluating code reviews | nickstinemates |
| 55 | Semantic linting — scoring a diff against a written conventions file | TypeSafe |
| 56 | Mediating CI flakes | passive |
| 57 | Driving app and UI testing with opencode | @Neriousy |
| 58 | Decision-tree logic inside a shipped extension | nickstinemates |
| 59 | RubyLLM integration | @kieranklaassen |
| 60 | Agents that decide, route, score and stop, via AI Gateway's evaluate() | @vercel_dev |
| 61 | Local validation of structured events | Hacker News |
Games, robotics and real-time control (12)
The group that best shows what a model with no text to generate can do: a decision arrives fast enough to sit inside a control loop.
| # | What it decides | Source |
|---|---|---|
| 62 | Playing DOOM in real time from structured game state | TypeSafe |
| 63 | Wikiracing — choosing one outgoing link per hop to reach a target article | TypeSafe |
| 64 | Game QA — instrumenting a game and emitting control inputs | caspar |
| 65 | Accelerating QA at a game studio | strich |
| 66 | Trading bot acting on a price feed, block by block | @jarrodwatts |
| 67 | Robotics — limb control | Flere-Imsaho |
| 68 | Robotics — general planning | Flere-Imsaho |
| 69 | Route finding | Flere-Imsaho |
| 70 | Driving rules — stop on red, go on green, stay in lane | pantelisk |
| 71 | Choosing the next note in a partly-written song, constrained by a grammar | iforgotmypasswo |
| 72 | Playing Super Mario Bros. from structured emulator state | @faadilhshaik |
| 73 | Camera-only autonomous drone flight in simulation | RomanSlack |
Things a person actually sees (13)
The thinnest group, and the one to read closely if you are building for consumers. Almost everything else on this page is buried inside somebody's backend.
| # | What it decides | Source |
|---|---|---|
| 74 | A website restructuring its own layout for the visitor in front of it | @furoku |
| 75 | Inferring visitor context from referrer, device and history | @furoku |
| 76 | Deciding whether to show a promotion to a given visitor | @furoku |
| 77 | Re-ordering page sections by what that visitor is likely to want | @furoku |
| 78 | Content firewall — hiding feed posts by a natural-language rule | @marcelpociot |
| 79 | Running 150 synthetic personas through a product survey | @ytiskw |
| 80 | A personal delivery tracker reading incoming email | xixixao |
| 81 | Smart-home command interpretation | VladVladikoff |
| 82 | Hardware that anticipates what its user wants next | TypeSafe |
| 83 | EdTech product decisions, held up by EU data residency | freddex |
| 84 | A structured judgment data lake across ten human skills | saldubai |
| 85 | On-device reproductions of the idea, openjev among them | @harshagundal |
| 86 | Stripping clutter out of a web page in the browser | kitze |
05What is not on this list
No writing, no summarising, no translation, no chat, and no image or audio work. That is not an oversight in the sweep — the model produces no text, so none of those jobs are available to it. If your use case is missing from this page, the first question to ask is whether it is a judgment at all.
The second absence is time. Every deployment here is days old. Nobody has yet reported what happens after a year of drift, a model version bump, or a change in the shape of their own input data.