Keep going
Keep learning with Rundown Pro
Pro adds the full on-demand course library, certifications, group office hours, and eligible member perks.
$29/mo, cancel anytime
Guides TypeSafe AI published sep 22, 2026
Jev is an AI model from TypeSafe AI that makes structured decisions instead of writing chat replies. Give it a message and a few focused questions, and it can choose a category, rate urgency, or estimate whether the sender asked for a person.
In this guide, you’ll use Jev to sort incoming requests. Start in the browser with made-up messages, then use the optional coding-agent prompt to turn the demo into a small app.
TypeSafe introduced Jev on September 15, 2026. It calls Jev a System One model: a model built for fast, focused judgments that software can use directly.
For example, instead of asking an AI to write a reply to a customer, you could ask Jev:
Is this an access problem or a billing question? How urgent is it? Did the sender ask to speak to a person?
Your app can use those answers to suggest a support queue or flag a message for review. Jev supplies the judgment; your software controls the next step.
Jev is not a chatbot or a coding assistant. It does not write emails, generate code, or replace the model inside Claude Code. You can use a coding agent to build an app that calls Jev.
This walkthrough suits operations teams sorting incoming requests, founders building small internal tools, and anyone who wants to try a decision model without first learning an API.
A request sorter that answers three questions about one message:
| Question | Jev type | What you use the answer for |
|---|---|---|
| What is the main request? | Choice | Suggest an access, billing, sales, feedback, or review queue. |
| How much time pressure does the sender state? | Score | Sort requests by stated urgency. |
| Did the sender ask for a person? | Noul | Flag an explicit request for human help. |
These are Jev’s three question types. Choice selects from your options, Score rates against levels you define, and Noul returns the estimated probability of “yes.”
The demo will not send messages, change accounts, or issue refunds.
Use the official TypeSafe Playground, a TypeSafe account, and a few sample messages. TypeSafe’s quick start supports trying text and questions in the Playground before writing code.
Use invented or redacted messages for your first test. Keep customer details and private company data out until your team has approved the tool.
TypeSafe provides a skill that helps coding agents work with Jev’s API. Review the skill before installing it. For Claude Code, the official installation commands are:
claude plugin marketplace add typesafe-ai/skills
claude plugin install typesafe@typesafe-aiCreate an API key in the TypeSafe console. Store it as the server-side environment variable TYPESAFE_API_KEY; keep it out of browser code, shared prompts, screenshots, and source control.
Then give your coding agent this prompt, along with the starter request JSON:
Use the TypeSafe skill to build a local app called Request Sorter.
The user pastes one message and clicks Analyze. Call Jev on the server
using the questions in jev_starter_request.json. Return the topic,
urgency score, human-request probability, and available confidence values.
Show the original message beside the result.
Read TYPESAFE_API_KEY from a server-side environment variable. Never
expose it to the browser or log it. Do not store messages by default.
Use the official SDK and pin model jev-1.13.0 for this demo.
Keep the questions and review threshold in one editable file. Mark the
result for review when the topic is other or its confidence is below 0.8.
Keep explicit requests for a person visible. Explain that this threshold
is provisional, not a guarantee of accuracy.
Add loading, error, timeout, and rate-limit handling. Make no API call
until Analyze is clicked. Do not connect email, send replies, issue
refunds, or change accounts.
Add synthetic test inputs and setup instructions. Clearly distinguish
mock tests from live Jev calls. Never display mock output as a live result.Your coding agent writes the app. Jev evaluates the messages inside it. Those are separate jobs.
As of September 22, 2026, TypeSafe lists Jev 1.13 at $0.042 per million input tokens, with no charge for output tokens. Input usage includes the material and questions you send.
For scale, 10,000 calls averaging 1,000 billed input tokens each would cost about $0.42 in model input fees. That is an estimate, not a measured cost for this demo, and it excludes app hosting or other services.
Check current pricing and any account credits before running a large batch.
Open the Playground and sign in. Paste this into the state field:
My team cannot sign in to the workshop we booked. It is about to start,
and the password reset link does not work. Please let me speak to a person.State means the information Jev should evaluate. It can be plain text or structured text, such as a JSON object containing a message and related facts. For this first test, one short message is enough.
Do not add an instruction to write a reply. The next steps define the decisions you want.
Add a Choice question named topic.
Use this instruction:
What is the main request in this message? Select other if the message
is too vague or none of the options fits.Define these options:
| Option | Description |
|---|---|
access | Help signing in or opening something the sender should already be able to use. |
billing | Help with a charge, invoice, refund, or cancellation. |
sales | Questions about buying a product or upgrading a plan. |
feedback | A suggestion or opinion with no request for access, billing, or purchase help. |
other | An unclear request or a topic outside these categories. |
Run the question. Inspect the selected category, the probability assigned to each option, and the confidence value. Choice returns all three.
For our example, access is the answer you should check for. That is a review target, not a promised or recorded model result.
Pro tip: Keep other. Otherwise, a vague message still has to fit one of your named categories.
Use this instruction:
How much time pressure does the sender state? Judge the stated deadline
or request for speed, not angry wording or capital letters.Give it these levels, in this order:
No time pressure, or the sender explicitly says there is no rush.
Requests a prompt response, without saying help is needed immediately.
Says help is needed immediately or before a deadline that is about to occur.Jev numbers these levels 0, 1, and 2. It can return a score between levels, so 1.6 would fall between the second and third descriptions. It is not a score out of 10.
Use this instruction:
Does the sender explicitly ask to speak with a human? Requests for a
person or a support agent count. Frustration alone does not count.A Noul returns a number from 0 to 1. Near 1 means the model favors “yes”; near 0 means it favors “no.” Around 0.5 means it is split. Noul does not return a separate confidence field.
For this sample message, look for high stated urgency and a strong “yes” on the human request. Record what Jev actually returns rather than assuming a particular number.
Replace the state and rerun the same questions. Start with these changes:
| New message | What to check |
|---|---|
| “How much would a plan for our team cost? There is no rush.” | sales, low urgency, no explicit human request. |
| “I cannot open a recorded lesson. It can wait until next week.” | access, low urgency, no explicit human request. |
| “This is not what I expected. Can you help?” | An unclear category should go to other or review. |
These are test inputs and review targets, not results from a live run.
Then try a message that contains two requests, an angry message with no deadline, and one that tries to tell the model which label to choose. Save wrong answers and review whether your instructions were clear enough.
TypeSafe documents weaknesses with vague or conflicting instructions, distracting context, precise arithmetic, and adversarial text. Keep questions narrow, send only relevant information, and leave calculations to code.
Ten examples make a useful first check. They do not prove the system is ready to sort a real inbox. Before relying on it, test a larger set that reflects your actual messages, including difficult cases you did not use while revising the questions.
Do not treat a returned label as permission to act.
For this demo, use a simple rule: show a routing suggestion, but mark the message for review when the topic is other or its Choice confidence is below 0.8. That threshold is a starting assumption for this exercise, not a validated production setting.
Choice and Score confidence describe how concentrated the model’s probability distribution is. A confidence of 0.8 does not establish that the system will be correct on 80% of your own messages.
An explicit request for a person should remain visible even when the topic looks clear. Do not use model confidence to override that request.
A valid output can still be wrong. Keep this first version read-only: suggest labels and priorities, then let someone check them.
Keep going
Pro adds the full on-demand course library, certifications, group office hours, and eligible member perks.
$29/mo, cancel anytime
Not for writing or conversation. Jev is for focused decisions inside software. Keep a general-purpose model for tasks that need generated text or code.
Not directly in the documented Jev 1.13 release. Its input is text. Convert other material to suitable text first, using another tool.
No. Constraining the answer format does not make every judgment correct. TypeSafe publishes known model limitations, so test the questions and review rules on your own examples.
Reuse the pattern for a task you understand: sort product feedback, classify article topics, or choose which tool an app should try next. Start with a small set of clear options and keep the action reversible.
The goal is not to make Jev do everything. It is to find one repeated decision, test it, and use the answer in a workflow you control.