jev-freeform
Experiment generating chat replies character by character with Jev Choice over 98 next-character continuations.
Overview
jev-freeform tests whether Jev Choice can generate text through successive typed decisions. Since Jev only picks among options, the author offers it characters: the 95 printable ASCII characters plus newline, tab and an end-of-sequence option, 98 choices in total. Each option is the full reply prefix with one character appended, and Jev's probabilities over those branches decide the next character.
The app shows the process in a browser at a local address, with a recorded video in the README. It is an observable curiosity rather than a practical text generator, requiring one API call per character.
What the decision model decides
| Type | Question | Answers |
|---|---|---|
| Choice | Which one-character continuation of the reply prefix is best (or end of sequence)? | — |
How it works
- Take the user prompt and current reply prefix
- Build 98 options, each the prefix plus one character or EOS
- Ask Jev Choice and append the chosen character
- Repeat until EOS
Strengths
- Makes Choice's behaviour visible step by step
Caveats
- One API call per character is slow and costly
- Not intended for real text generation
Getting started
`npm install`, `export TYPESAFE_API_KEY=...`, `npm start`, then open http://127.0.0.1:4177.At a glance
- Type
- Project
- Status
- research
- Language
- JavaScript
- Runtime
- Node 22+ web app
- Has code
- yes
Use cases and integrations
How curated lists describe it
An observable raw-character chat experiment powered entirely by TypeSafe Jev Choice.
hellogumbo/awesome-jev
Frequently asked questions
Can Jev write text?
Only indirectly here, by choosing one character at a time from 98 options.
Is it practical?
No, it is an experiment showing how Choice behaves.
What do I need?
Node 22+ and a TypeSafe API key.
Related projects
- TypeAR★ 946
TypeLLM: Jev-inspired type-safe decoding for existing autoregressive LLMs on SGLang, with schema-guaranteed typed outputs.
ProjectbetaPython llama.cpp-based C++ server that turns any LLM into a System One decision model, reading answers from next-token logits.
ProjectbetaC++Decision-forensics library that explains a Jev answer by ablating parts of the input and measuring how far the probability moves.
ProjectbetaPythonAdapter that turns existing LLMs into Jev-style decision functions with option scores, optional calibration and review thresholds.
ProjectprototypePythonDecision sidecar and Copilot CLI pre-turn hook that mimics Jev choice, noul and score using Azure Foundry Cohere Rerank.
HookprototypePythonToy chat that makes Jev talk by repeatedly choosing its next word from a tiny caveman vocabulary.
ProjectprototypeTypeScript