jev-palette
Semantic command palette demo where one Jev Choice over 77 commands per keystroke gives the ranking, beside a fuzzy-match baseline.
Overview
jev-palette is a Cmd-K command palette demo for a fictional mail app. You type an intent in Portuguese or English and the palette ranks 77 commands by meaning. Each keystroke sends one Choice question with the whole catalog as options, and Jev's full probability distribution becomes the ranking, with no embeddings or vector index. A classic fuzzy matcher runs side by side and fails honestly on intent-style queries.
The README estimates about $0.00004 per keystroke. On 50 labelled queries against jev-1.13.0, Jev achieved 98% top-1 and 100% top-3, versus 20% for fuzzy matching, with a mean latency of 413 ms. On queries that use the command's name, fuzzy matching was equally accurate and effectively instant, so the author recommends running fuzzy first and falling through to Jev. The UI debounces, aborts in-flight calls, caches repeats and degrades to fuzzy if Jev is down; a mock mode works offline.
What the decision model decides
| Type | Question | Answers |
|---|---|---|
| Choice | Which command does the user want? | — |
How it works
- The user types a query
- After a 200 ms debounce, one Choice over 77 commands is sent
- The probability distribution is sorted into a ranking
- Deterministic code executes the selected command
Strengths
- Handles intent phrasing in two languages
- No embeddings or index to maintain
- Graceful fallback to fuzzy matching
- Small eval included
Caveats
- Around 400 ms per call is slow for per-keystroke UI
- Fuzzy is just as good when users know command names
- Fictional command catalog
Getting started
npm install, cp .env.example .env (add TYPESAFE_API_KEY), npm run dev; or npm run dev:mock without a key.At a glance
- Type
- App
- Status
- prototype
- Language
- TypeScript
- Runtime
- React web app with Node proxy
- Has code
- yes
- Has tests
- yes
Use cases and integrations
How curated lists describe it
Command-palette demo where a single Choice question over a 77-command catalog turns the returned probability distribution into the per-keystroke ranking for Portuguese or English input; deterministic code executes the selected command, with a classic fuzzy-match baseline shown side by side.
cobanov/awesome-jev
Frequently asked questions
What does Jev decide?
Which of 77 commands the user's typed intent refers to; the distribution is the ranking.
How accurate is it?
98% top-1 on 50 labelled queries versus 20% for fuzzy matching.
Should it replace fuzzy search?
The author suggests running fuzzy first and using Jev when fuzzy is empty or weak.
Related projects
Open-source AI email assistant; listed as using Jev as an optional classifier for email intent and triage.
ProjectproductionTypeScriptHermes Desktop plugin where Jev maps misspelled, shortened or meaning-based slash commands to real ones at ≥0.85 confidence.
PluginbetaJavaScriptAbleton Live controller where a one-sentence command in English or Japanese is turned into mixer, transport, clip and device actions.
ProjectbetaLocal-first desktop and Android attention workbench that extracts deadlines from WeChat and campus notices; Jev optional.
ProjectbetaMac voice assistant where one Jev call per utterance maps speech to app, volume, Spotify and system actions; an LLM only answers questions.
AppprototypePythonNeovim intent router: Jev classifies an AI command as read file, edit code, run command or general question and dispatches it.
ServiceprototypeLua