Skip to content

jev-palette

Semantic command palette demo where one Jev Choice over 77 commands per keystroke gives the ranking, beside a fuzzy-match baseline.

Appprototype

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

TypeQuestionAnswers
ChoiceWhich command does the user want?—

How it works

  1. The user types a query
  2. After a 200 ms debounce, one Choice over 77 commands is sent
  3. The probability distribution is sorted into a ranking
  4. 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.

    ProjectproductionTypeScript
  • Hermes Desktop plugin where Jev maps misspelled, shortened or meaning-based slash commands to real ones at ≥0.85 confidence.

    PluginbetaJavaScript
  • Ableton Live controller where a one-sentence command in English or Japanese is turned into mixer, transport, clip and device actions.

    Projectbeta
  • Local-first desktop and Android attention workbench that extracts deadlines from WeChat and campus notices; Jev optional.

    Projectbeta
  • Mac voice assistant where one Jev call per utterance maps speech to app, volume, Spotify and system actions; an LLM only answers questions.

    AppprototypePython
  • Neovim intent router: Jev classifies an AI command as read file, edit code, run command or general question and dispatches it.

    ServiceprototypeLua