JevMade hello@JevMade.com

A public registry · independent & community-run

Explore the Jev ecosystem.

Learn, build, and play with Jev — from deep technical guides to creative experiments.

Make & explore

Experiments.

See what builders made with Jev. Games, tools, repositories, articles, and more — traced to their sources.

Featured experiment Jev experiments by Nader Dabit
Recorded frame from Jev experiments
Explore 1,613 entries
The directory03 / 03 · Experiments

Find something worth exploring.

Every category, from games and tools to repositories and writeups, traced to a primary source.

Same ideas.
Different paths.

This is the full registry, not just the featured picks. Figures like speed, cost, and stars are maker-reported or captured snapshots, not JevMade measurements.

1613 experiments · showing 1561–1613

A “jevin keyboard” explores subtle ambient intelligence at the edge of generative interfaces.

Recorded frame of Jev Board
ACTUAL RECORDING12 SEC ↗
— Playable demos & bots

A Jev-powered copy-and-paste utility with bring-your-own-key support and a local mode announced as forthcoming.

Recorded frame of Jaste
ACTUAL RECORDING12 SEC ↗
— Apps & data pipelines

Browses Jev projects by category, recency, or name, linking each card and detail page back to its maker's original post.

Source screenshot of Jevable
SOURCE SCREENSHOTEXPAND ↗
— Community lists

Adds Jev's typed decisions as a LangChain Runnable, with experimental middleware for model routing and tool-risk checks.

Source screenshot of langchain-typesafe
SOURCE SCREENSHOTEXPAND ↗
choicescorenoul Integrations

wmoto ran a local decision-model prototype and published a ten-second demonstration while noting that its speed still needed work.

Source screenshot of Local Jev
SOURCE SCREENSHOTEXPAND ↗
— Benchmarks & research

Erik Kokalj ran an 8-bit MLX conversion of Jev-Omni locally to choose jump, duck, or wait in Chrome Dino from cropped road images.

Recorded frame of Jev-Omni Chrome Dino
ACTUAL RECORDING12 SEC ↗
— Playable demos & bots

Jacky Ko and collaborators introduced an Apache-2.0 contrastive language model that connects states to actions as an open System One model.

Recorded frame of CLM-8B
ACTUAL RECORDING12 SEC ↗
— Benchmarks & research

Speak a voice diary, let Jev sort your thoughts, then review the notes, tasks and reminders before sending them to Notion.

Source screenshot of Capture
SOURCE SCREENSHOTEXPAND ↗
choicenoul Apps & data pipelines

Search an English–Icelandic dictionary by meaning, with Jev checking whether the shortlist contains a match and ranking the results.

Source screenshot of ensk
SOURCE SCREENSHOTEXPAND ↗
choicenoul Apps & data pipelines

Bring Jev Search's ranked links into Claude Code, Codex or a terminal through an MCP server, CLI and optional WebSearch hook.

Source screenshot of jev-search-mcp
SOURCE SCREENSHOTEXPAND ↗
— Integrations

OpenRouter's Jev Router picks the model and reasoning effort for each request, and holds a model while its prompt cache stays warm.

Source screenshot of Jev Router (OpenRouter)
SOURCE SCREENSHOTEXPAND ↗
from the source Jev Router picks the best model and reasoning effort for each request, balancing quality...It runs on Jev, TypeSafe's first System One model, and adapts as your conversation evolv...
— Integrations

OpenCodex asks Jev to choose a model and reasoning level for each Codex request, using the proxy's configured route whenever Jev is unavailable or returns an invalid answer.

Source screenshot of opencodex
SOURCE SCREENSHOTEXPAND ↗
from the source requestBody = JSON.stringify({ model: JEV_MODEL, state, questions: buildJevRouteQuestion(options.candidates),});
choice Agent tooling

A Phoenix Evals example pits Jev against a small grounded-versus-hallucinated answer benchmark.

Source screenshot of phoenix
SOURCE SCREENSHOTEXPAND ↗
from the source const jev = typeSafeAi.evaluationModel("jev-latest");const jevEvaluator = createHallucinationEvaluator({ model: jev });const [jevResult, jevMs] = await timed(() => jevEvaluator.evaluate(example));
choice Benchmarks & research

Docker Agent asks Jev whether a pending tool call is clearly read-only or needs the user's approval, treating uncertain calls cautiously.

Source screenshot of docker-agent
SOURCE SCREENSHOTEXPAND ↗
from the source type: choicechoices: read_only: Clearly read-only, with no credential access or external data transfer. risky: Modifies or deletes data, executes opaque code, accesses credentials, or transf... unknown: Insufficient information to establish the operation's effects.
choice Agent tooling

GPTCache asks Jev whether a cached answer still fits a new request, taking differences in the requests, answer, and dates into account.

Source screenshot of GPTCache
SOURCE SCREENSHOTEXPAND ↗
from the source scores = { key: float(data["answers"][key]["noul"]) for key in self.DIMENSIONS}self.last_scores = scoresreturn min(scores.values())
noul Integrations

Agent Native asks Jev which optional tools an agent should see at the start of a request, based on the user's recent context.

Source screenshot of agent-native
SOURCE SCREENSHOTEXPAND ↗
from the source candidateStateKey: "candidate_tools",answerKey: "best_tool",question:Which tools should be loaded into the agent context first for this task? Pick the most u...limit: prefetchLimit,
choice Agent tooling

Memorax asks Jev whether searching saved coding memories would materially help with the current prompt and, when available, the previous turn.

Source screenshot of memorax-code
SOURCE SCREENSHOTEXPAND ↗
from the source body: JSON.stringify({ model: JEV_MODEL, state, questions: { search_needed: SEARCH_QUEST...const answer = isRecord(body) && isRecord(body.answers) ? body.answers.search_needed : u...const probability = answer.noul;return { ok: true, decision: probability >= 0.5 ? "search" : "skip", probability, model:...
noul Agent tooling

Interactive Shell uses Jev to decide when terminal work needs attention and which pre-authorized action may help.

Source screenshot of pi-interactive-shell
SOURCE SCREENSHOTEXPAND ↗
from the source questions.attention = { type: "choice", instructions: `Choose the primary visible state using only explicit current evidence..... criteria: { working: "routine work is active, retrying, progressing, or healthily waiting...",
choicenoul Agent tooling

haiku.rag provides a reusable System One judge for benchmark verdicts such as whether two answers are equivalent.

Source screenshot of haiku.rag
SOURCE SCREENSHOTEXPAND ↗
from the source response = await self.client.system_one( self._state(ctx), {name: self._question()}, model=self.model)p = response.nouls[name].noulverdict = EvaluationReason(value=p >= threshold, reason=f"system_one p={p:.3f}")
noul Benchmarks & research

Kimaki's OpenCode auto-mode asks Jev whether a pending tool action may run without another prompt, using the action, its arguments, and the latest user message.

Source screenshot of kimaki
SOURCE SCREENSHOTEXPAND ↗
from the source state: serializedState,questions: { allow: { type: 'boolean', instructions: `Should this pending OpenCode tool action run automatically? ${CLASSIF...
noul Agent tooling

ctx

ctx sift uses Jev to keep useful or contradictory passages while shrinking an agent's tool output.

Source screenshot of ctx
SOURCE SCREENSHOTEXPAND ↗
from the source let judgment = client.select(selection.task(), selection.candidates(text));if let Some(scores) = judgment.scores.as_deref() && let Some(proposal) = selection.propose(scores){ selected_count = proposal.kept_count();
noul Agent tooling

TypeSafe Jev Gate adds a fail-closed review step to Hermes Agent's consequential tool calls.

Source screenshot of TypeSafe Jev Gate
SOURCE SCREENSHOTEXPAND ↗
from the source answers = evaluate_tool(tool_name, args, **kwargs)secret_safe = _noul(answers, "no_secret_egress")score = risk(answers)eligibility = answers.get("eligibility", {}).get("choice")
choicescorenoul ★ 0 Integrations

Lintus turns plain-language YAML rules into Jev checks and reports threshold-crossing answers as lint offenses.

Source screenshot of Lintus
SOURCE SCREENSHOTEXPAND ↗
from the source let mut query = jev::Query::new(format!("File: {path}\n\n{content}"));for rule in &task.rules { query.ask(&rule.id, rule.to_noul())?;}let response = self.client.perform(&query)?;
noul Apps & data pipelines

Search a retained window of Kubernetes or file logs with Jev, then inspect matching, possible, and unrelated evidence.

Source screenshot of jevernetes
SOURCE SCREENSHOTEXPAND ↗
from the source questions.insert(format!("e{i}_relevance"), json!({ "type": "choice", "criteria": criteria, "instructions": "Does events[i] address the log-search query..."}));
choice Apps & data pipelines

mem-jev asks Jev to judge ambiguous agent memories, then folds five semantic signals back into retrieval ranking.

Source screenshot of mem-jev
SOURCE SCREENSHOTEXPAND ↗
from the source evaluation, err := service.evaluator.Evaluate(ctx, request.State)record, err := NewJudgmentRecord(...)return ServiceResult{ Disposition: DispositionCommitted, Features: record.Features,
scorenoul Agent tooling

Mistype a subcommand and jevyoumean asks Jev which documented command you probably intended.

Source screenshot of jevyoumean
SOURCE SCREENSHOTEXPAND ↗
from the source "intended": { Type: "choice", Instructions: instructions, Criteria: criteria(commands),}
choice Apps & data pipelines

A JevNPC trial asks whether a threatened Minecraft villager should ignore danger or call the guards.

Source screenshot of JevNPC
SOURCE SCREENSHOTEXPAND ↗
from the source criteria.put("IGNORE", "Start no new action...");criteria.put("CALL_GUARD", "Request help from the listed eligible guards...");String instructions = "Which available response should this NPC take now to stay safe?";
choice Playable demos & bots

Keel can ask Jev which installed coding provider and model should receive a new task.

Source screenshot of Keel
SOURCE SCREENSHOTEXPAND ↗
from the source let input = SelectionInput { state: DecisionState { task, context, state_version }, candidates: prepared_routes,};let outcome = selector.select(input, &DecisionBudget::new(1)).await;
choicenoul Agent tooling

Triage messages, classify CSV rows, interpret voice commands, or let Jev steer Snake from a Java web playground.

Source screenshot of Jev from Java
SOURCE SCREENSHOTEXPAND ↗
from the source var state = game.state(semantics);var decision = model.decide(state, Game.QUESTIONS);var choice = Answer.get(answers, Game.MOVE, Answer.Choice.class);var move = Direction.valueOf(choice.choice().toUpperCase(Locale.ROOT));return new Turn(game.step(move, random), ...);
choicescorenoul Playable demos & bots

Send text through a named semantic rule or your own question and receive a valid, invalid, or uncertain result.

Source screenshot of semantic-validator
SOURCE SCREENSHOTEXPAND ↗
from the source "result": map[string]any{ "type": "choice", "instructions": question, "criteria": map[string]string{"true": "El texto cumple...", "false": "El texto no cump...}
choice Integrations

Record live Jev decisions as redacted cassettes, then replay or perturb them without another provider call.

Source screenshot of JevTape
SOURCE SCREENSHOTEXPAND ↗
from the source JevResponse response = delegate.send(request);repository.save(new Cassette(...));
choicescorenoul Agent tooling

Watch Jev choose a legal Tetris placement from a heuristic shortlist, then play the selected move.

Source screenshot of Tetris AI
SOURCE SCREENSHOTEXPAND ↗
from the source client.choose(QUESTION_ID, JevPromptSupport.state(snapshot), INSTRUCTIONS, criteria);return selected.move();
choice Playable demos & bots

AutoNomousBot shows Jev a Minecraft world snapshot, lets it choose from available actions, then performs the selection.

Source screenshot of AutoNomousBot
SOURCE SCREENSHOTEXPAND ↗
from the source jevClient.askChoice(state, question, fallbackId)actionExecutor.execute(client, chosen);
choice Playable demos & bots

Give Jev Pilot a mobile goal and it observes the screen, chooses a bounded UI action, and performs it.

Source screenshot of jev-pilot
SOURCE SCREENSHOTEXPAND ↗
from the source let answers = self.judge.evaluate(...)?;let mut decided = catalog.resolve(&answers, &floors);
choicescorenoul Browser & computer use

Add Jev-backed tool approval, chat triage, transcript curation, and model routing to OpenClaw.

Source screenshot of TypeSafe AI for OpenClaw
SOURCE SCREENSHOTEXPAND ↗
from the source const scored = await this.client.score({if (scored.level >= this.approvalLevel) {
choicescorenoul Agent tooling

TweetGuard uses Jev to sort individual X posts into spam categories while leaving uncertain posts visible.

Source screenshot of TweetGuard
SOURCE SCREENSHOTEXPAND ↗
from the source const uncertain = answer.confidence < JEV_MIN_CONFIDENCE;const isSpam = answer.choice !== 'normal' && !uncertain;
choice Apps & data pipelines

DLQ Inspector asks Jev whether an ambiguous dead-letter message should be replayed, fixed, avoided, or investigated.

Source screenshot of DLQ Inspector
SOURCE SCREENSHOTEXPAND ↗
from the source resp, err = a.Client.Evaluate(ctx, state, jev.ClassificationQuestions())out.Classification = jevChoiceToClassification(verdict.Classification)
choicenoul Agent tooling

Any Auto asks Jev whether coding-agent tool calls are risky, authorized, and policy-compliant before approving them.

Source screenshot of any-auto
SOURCE SCREENSHOTEXPAND ↗
from the source json!({"model":self.config.approver.model,"state":input.state,"questions":questions})let mut result = into_review(&response)?;
choice Agent tooling

Supercov asks named quality and security questions about source files, then turns Jev's answers into inspectable findings.

Source screenshot of Supercov
SOURCE SCREENSHOTEXPAND ↗
from the source if let Some(health) = catalog::health(values) {weighted.push((answer.bytes, health));
noul Agent tooling

Sentio classifies email with Jev and adjusts spam scores from unsolicited-mail and phishing probabilities.

Source screenshot of Sentio
SOURCE SCREENSHOTEXPAND ↗
from the source let state = self.build_state(message_text, envelope_from, envelope_to);let score_delta = self.score_delta(unsolicited, phishing, confidence);
choicenoul Apps & data pipelines

Run Laya’s typed decisions natively on Apple Silicon, then watch its terminal Snake demo choose moves with safety corrections.

Recorded frame of Laya-MLX
ACTUAL RECORDING12 SEC ↗
choicescorenoul Benchmarks & research

Jev, briefly

A decision model, not a chatbot.

A chat model generates text token by token and hopes you parse it. Jev never generates a word. Your code sends the state of the world plus typed questions; Jev returns every answer in one parallel pass — typed values with calibrated probabilities and a confidence score your code can trust. About 70–500 ms end to end, $0.042 per million input tokens, output free. Trained with what TypeSafe calls Reinforcement Learning for Calibrated Decisions.

choice Pick one of these.

You define the options. Jev returns the chosen option, a probability for every option, and a confidence. The workhorse of routing, agents, and games — the answer space is always legal, so there is nothing to parse and nothing to hallucinate.

score Rate this on a rubric.

You describe ordered levels — say trivial / normal / critical. Jev returns the level, the probability of each, and a confidence. Scores turn fuzzy judgment (“how severe is this log line?”) into a number-free decision your code can branch on.

noul Is this statement true?

You assert a statement; Jev returns the probability that it is true — a noul. Moderation, verification, guardrails, “does this diff actually fix the bug?”: one question, one calibrated probability.

Official material lives at typesafe.ai and docs.typesafe.ai. JevMade is an independent community registry — not affiliated with or endorsed by TypeSafe AI.

Recurring lessons

Patterns that keep showing up.

One decision per tick

Games, drones, trading bots, and browser agents all converge on the same loop: serialize the state, ask one decisive question, act, repeat. Jev’s latency makes the loop feel instant — the model lives inside the control loop, not outside it.

Confidence as a gate

The answer says what; the confidence says whether to act. The most reliable entries threshold on confidence to route edge cases to a slower model or a human — automation with an honest escape hatch.

Shrink the choice space in code

Makers rarely ask Jev to pick from everything. Local tactics prune 225 gomoku moves to ~40; DOM filters turn a page into an element table; code narrows options, Jev judges within them.

Jev judges, LLMs talk

A recurring split: Jev makes every decision cheaply and instantly, and a small LLM is only invoked when a human-facing string must actually be written. Decision and generation are separate budgets.

Made something with Jev?

Send the link — repo, live demo, post, or video — plus a line on what it does and which primitives it uses. Every entry is verified against its primary source before it ships.

Submit your experiment → hello@JevMade.com