1. Data source
  2. Decision schema
  3. Model inference
  4. Structured result
2 Decision schema 3 typed questions
  • intentchoiceeventremindertodotimersplitconvertnotenone
  • readinessscorejust_startedpartialready
  • event_modechoicein_personvideo_callphone_callunspecified

3 Model inference typesafe/jev-1.13

Waiting for a run.

4 Structured result

Run the demo to see the JSON answers, the highlighted pick and the final action.

Call Jev yourselfSame data and schema, straight to Flatkey. Set FLATKEY_API_KEY and run.
curl -sS https://router.flatkey.ai/api/alpha/decisions \
  -H "Authorization: Bearer $FLATKEY_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "model": "typesafe/jev-1.13",
  "state": "dinner with priya friday 8pm on zoom",
  "questions": {
    "intent": {
      "type": "choice",
      "instructions": "What is the person trying to create with this text?",
      "criteria": {
        "event": "Scheduling a meeting, meal, call or gathering at a time, usually with other people",
        "reminder": "Asking to be reminded to do a single task themselves",
        "todo": "Listing several separate things to do or buy",
        "timer": "Starting a timer, countdown or focus session for a duration",
        "split": "Dividing an amount of money between several people",
        "convert": "Converting a value from one unit to another",
        "note": "A thought, idea or note that is none of the above",
        "none": "Too short, unclear or unfinished to tell yet"
      }
    },
    "readiness": {
      "type": "score",
      "instructions": "How complete is this input for what the person is creating?",
      "criteria": [
        "just_started",
        "partial",
        "ready"
      ]
    },
    "event_mode": {
      "type": "choice",
      "instructions": "How would the gathering or meeting take place?",
      "criteria": {
        "in_person": "Meeting physically at a place",
        "video_call": "A video call such as Zoom, Meet or FaceTime",
        "phone_call": "A phone call",
        "unspecified": "Not mentioned or not a meeting"
      }
    }
  }
}'

No Flatkey key yet? Get one for Jev 1.13 →

Run with real Jev

Sign in and connect a key

  1. Sign in with Google.
  2. Connect your Flatkey or OpenRouter key on the next screen. Get a Flatkey key for Jev 1.13.
  3. Come straight back here and press Run again.

This site is for researching, sharing and cataloguing Jev use cases. Your key is only there to make trying Jev convenient: it is stored encrypted, used only for runs you trigger, never used for anything else, and you can delete it anytime.

About this use case

Use Jev for adaptive UI: incoming state, Jev decision, routed outcome

Who / when

Audience

  • product engineers building command bars, quick-add boxes and smart inputs
  • design-engineers prototyping intent-driven or generative UI
  • teams replacing "new event / new task" buttons with one input

Triggers

  • users type free text into a quick-add box and you must pick the right form
  • the same input could be an event, a reminder, a checklist or a note
  • you want UI variants (video call badge, urgency) without a chat model filling fields
  • keystroke-level latency rules out a generative model

The workflow

  1. 01
    Input stateDebounced text from the boxInput
  2. 02
    ChoiceWhich card: event, reminder, todo, timer…Jev
  3. 03
    Score + ChoiceReadiness and variant signalsJev
  4. 04
    UI gateMorph, preview or stay plain textYour code

Question shape

{
  "intent": {
    "type": "choice",
    "instructions": "What is the person trying to create with this text?",
    "criteria": {
      "event": "Scheduling a meeting, meal, call or gathering at a time, usually with other people",
      "reminder": "Asking to be reminded to do a single task themselves",
      "todo": "Listing several separate things to do or buy",
      "timer": "Starting a timer, countdown or focus session for a duration",
      "split": "Dividing an amount of money between several people",
      "convert": "Converting a value from one unit to another",
      "note": "A thought, idea or note that is none of the above",
      "none": "Too short, unclear or unfinished to tell yet"
    }
  },
  "readiness": {
    "type": "score",
    "instructions": "How complete is this input for what the person is creating?",
    "criteria": [
      "just_started",
      "partial",
      "ready"
    ]
  },
  "event_mode": {
    "type": "choice",
    "instructions": "How would the gathering or meeting take place?",
    "criteria": {
      "in_person": "Meeting physically at a place",
      "video_call": "A video call such as Zoom, Meet or FaceTime",
      "phone_call": "A phone call",
      "unspecified": "Not mentioned or not a meeting"
    }
  }
}

Gate policy

≥ 0.85

Morph the text box into the chosen card.

0.50–0.85

Show a faint preview or "did you mean" chips for the top two cards.

< 0.50

Stay a plain text box and keep listening.

Failure modes

Pre-launch checks before you trust auto-routing:

  • Half-typed input flickering between cards (use hysteresis, not a single threshold);
  • Inputs that fit two cards, such as "remind me about dinner friday";
  • Values Jev should never produce: dates, amounts, counts or unit math;
  • Slow or failed calls: always have an offline fallback with the same output shape;
  • New card types added without a distinct, non-overlapping description;
Keep exact work in code: date parsing, amounts, currency, division, unit conversion and saving the card should be deterministic. Jev only answers what kind of thing the user is writing.

FAQ

Is there a real app built this way?

Yes. Anish Gupta's open-source Shapeshift (linked below) is one text box with nineteen card types. One Jev call answers fourteen typed questions in parallel (which card, plus signals like video call or urgency) while deterministic TypeScript parses every value. Its rule: "Jev decides, code computes." This page's question shape is a trimmed version of its schema.

How do you stop the UI from flickering while someone types?

Put a small state machine between the answer and the screen. Shapeshift's write-up describes a challenger that must win twice in a row or reach 0.85 before replacing the current card, collapsing to plain text only below 0.3, and signal badges that switch on at 0.65 and off at 0.45.

Can it work without a network call?

Shapeshift ships an offline keyword classifier that returns the same output shape as Jev, used by default and as a fallback when the API is slow or unreachable. The Try it demo on this page is also a local simulation; Run live calls Jev.

Can I bring my own API key?

Yes. Try the free demo above without signing in. To run it live on your own text, sign in with Google and connect a Flatkey or OpenRouter key (a quick test call runs when you save it). Manage or delete it anytime under Dashboard → BYOK. Keys are stored encrypted on the server, used only for runs you trigger, and never sent back to the browser. Need a Flatkey key? Get one for Jev 1.13 on Flatkey.

Is this the official TypeSafe Jev product page?

No. jev-llm.com is an independent research and practice site. Verify pricing, models and terms at the original TypeSafe sources.

Sources

Seen on X
Independent-site note: jev-llm.com is an independent research and practice site. It is not the TypeSafe AI official site. Verify models, pricing and terms at the original source.