Awesome Jev / TypeSafe

A visual map of Jev: context enters a typed judgment, then application code decides what happens

Awesome Live site Checks License: MIT All Contributors

The field guide to typed decisions.

Official docs, working integrations, independent experiments, and the builders pushing Jev into new territory. Jev turns context into a probability, a choice, or a score; your code owns the threshold and the action.

One call, three typed answers. In TypeSafe’s documented support-ticket example, Jev chooses the technical team (0.85 probability), scores frustration at level 1 on a 0–2 rubric, and gives urgency a 1.0 Noul probability. The example response is from jev-1.13.0; application code still decides when to route or escalate.

I want to… Go here
Understand the idea in 2 minutes Try the policy threshold, then read the introduction and the three primitives
Make my first typed call Copy the runnable example, shape your own question, then explore the official SDKs
See it work live Play Jev Chess, try Typewriter’s 16 judgments or Jevtown’s simulated audience; browse more applications
Test the claims Independent evaluations and TypeSafe’s own evals

Shape a typed question → · Explore the searchable web directory · Download the JSON directory · Suggest a resource · Join the builder community

Independent community project. This repository is not affiliated with or endorsed by TypeSafe AI. Community entries are labeled by section; inclusion is not a claim that TypeSafe has reviewed or approved them.

Last updated: 2026-09-21. Links and project descriptions change; please report a stale entry.

Contents

Start here

One state can answer several focused questions in the same request. Pick the answer shape your code can use directly:

Question shape Use it for What comes back
Noul A clear yes/no claim, such as “Does this message request a refund?” A number from 0 to 1: the probability of yes.
Choice Selecting from named options, such as billing, technical, or sales. The selected option, a probability for every option, and confidence.
Score An ordered rubric, such as calm, concerned, or angry. A position on your rubric, probabilities over its levels, and confidence.

Ask independent questions together. Set thresholds, fallback behavior, and side effects in application code.

Make your first decision

Install the official JavaScript SDK with npm install @typesafe-ai/sdk (Node.js 20+), set TYPESAFE_API_KEY in your environment, save this as first-decision.mjs, then run node first-decision.mjs:

import { choice, noul, TypeSafeClient } from '@typesafe-ai/sdk';

const { answers } = await new TypeSafeClient().systemOne({
  state: { ticket: 'I was charged twice. Please refund the extra payment.' },
  questions: {
    team: choice('Which team should handle this ticket?', {
      billing: 'Payments and refunds',
      technical: 'Bugs and integrations',
      other: 'None of the above',
    }),
    refund: noul('Does the customer explicitly request a refund?'),
  },
});

const team = answers.team.choice;
const probability = answers.team.probabilities[team];
const action = team !== 'other' && probability >= 0.9
  ? `route to ${team}` : 'send to review';
console.log({ team, probability, refundProbability: answers.refund.noul, action });

Jev returns the typed answers; the 0.9 routing rule is ordinary application code. It is an illustrative threshold, not a measured or recommended operating point. The ticket text is sent to TypeSafe’s API; use a synthetic ticket for this first call.

Shape a typed question

Start with one state and a question whose answer your code can use. This synthetic support report can be asked as a Choice, Noul, or Score. On the live site, edit the fields and copy a JavaScript SDK call. The designer runs in your browser without making a model request; running the copied code later sends the state to TypeSafe.

Design input Synthetic example
State text The PDF upload fails with a 500 error. I need it before today's deadline.
Choice question Which team should handle this report?
Choice options technical=Failures and integrations; support=Account and usage help; other=Neither team
Noul question Does the message explicitly mention a deadline?
Score question How much does the reported issue block the user's work?
Score levels Cosmetic; Workaround available; Blocks the task

Keep the state short, describe the options so they do not overlap, and include a no-match option when the task allows it. Choose thresholds and actions only after measuring your own labelled cases.

Try a policy threshold

The documented support-ticket example above selects technical with probability 0.85. In this illustrative policy, a ticket routes automatically only when the selected probability reaches the application’s threshold. At 0.90, it goes to review; at 0.80, it routes to technical. The model answer stays the same. These thresholds are teaching examples, not measured operating points or safety guarantees.

Policy input Example value
Selected team technical
Selected probability 0.85
Starting threshold 0.90

On the live site, move the threshold to see which action the application takes. A real threshold needs evaluation on your own labelled cases, with a review path for uncertainty.

Before you trust a decision

These studies use particular tasks, datasets, and model versions. Treat their results as test designs for your workload, not universal guarantees.

Official resources

Product and documentation

SDKs and developer tools

Concepts, patterns, and cookbooks

Research and writing

Community and updates

Community projects

Community projects are independent unless their repository says otherwise. Read the code, licenses, data-handling notes, and evaluation caveats before using them in a consequential system.

Client libraries and integrations

Agent and developer tooling

Browser agents

Applications and workflows

Games and robotics

Evaluations and independent research

Showcases and field notes

Contributing

Contributions are welcome. Please read the contribution guide before opening a pull request.

The short version: submit a public, directly useful resource; describe what it actually does; put it in one category; and include limitations when a result depends on a private dataset, a single run, or an unverified claim.

Listed here? Your project page has a direct link, a README badge, and a downloadable image for sharing your entry.

Contributors

Thanks to everyone who has improved the list. The portraits below are generated from All Contributors; contribution types reflect work in this repository.


AbdelStark

💻 📖

AboveColin

📖

Dearest

📖

DevMortimer

📖

FirasSX914

📖

Fox-Islam

📖

Friedjof

📖

GenieRobot

📖

Hawxy

📖

IRONICBo

📖

Lasse-numerous

📖

Mohammed Nabil

📖

Nasrallah-AL

📖

Nedomas

📖

Nyarlathoteppppp

📖

Sachin Sharma

📖

SergeAx

📖

Stas Kulesh

📖

WiktorB2004

📖

abhixhek

📖

antiyro

📖

anxkhn

📖

aowang-ai

📖

brokermr810

📖

carldaws

📖

chy4pro

📖

copyboy

📖

dependabot

💻

devx-opensource

📖

emreozyoruk

📖

eugeniughelbur

📖

fatwang2

📖

formulahendry

📖

forvela

📖

gaborishka

📖

garretpremo

📖

ikkun1222

📖

jesset

📖

jonesmelton

📖

jyatesdotdev

📖

kylemclaren

📖

kyu1204

📖

ljedrz

📖

luantak

📖

lukstei

📖

marandaneto

📖

nshkrdotcom

📖

roadtogideon222-byte

📖

rubenroques

📖

rupeshpoojary9

📖

rustyconover

📖

scienthoon

📖

sensahin

📖

sethkimmel3

📖

shiftynick

📖

shimo4228

📖

shitianfang

📖

ticofab

📖

ufec

📖

unikcc

📖

valentynkit

📖

yodablocks

📖

yuyang2230

📖

To add someone or update their contribution type, see the contribution guide.

License

MIT. Individual projects and linked content retain their own licenses and terms.