Skip to content
MrJev

Jev experiments

Latency-focused demos from Nader Dabit, each app in its own directory with its own README. No licence file at the time of writing.

View on GitHub →

Hands-on review

Twenty-one latency-focused Jev demos from Nader Dabit, built by Devin. Every web app's own tests pass; not one of them carries a licence.

Good for

  • Sixteen working reference implementations, each with tests you can run today
  • One request per unit of work, carrying about ten questions
  • A mock mode that labels itself and needs no key

Watch out for

  • No LICENSE file anywhere: you may read this code, not reuse it
  • CI covers one of twenty-one demos; the other twenty have tests nobody runs
  • The pre-commit demo sends every staged hunk, including a .env file's contents

Tested Sep 22, 2026 at c469e5bfdc73 · node:24-slim in Docker: npm ci, typecheck, lint and tests in all sixteen web demos, then commit-sentry driven against a stand-in

How we reviewed this: we ran each web demo’s own commands in node:24-slim — npm ci, npm run typecheck, npm run lint, npm test — then drove one of them end to end against a stand-in that logged every request. The five macOS demos need Xcode and a Mac; we did not build them and do not claim anything about them. We made no Jev calls.

What it is

Twenty-one separate applications in one repository, each in its own directory with its own README, TESTING.md and screenshots. Sixteen are web apps (Vite plus a small Node server); five are native macOS or Swift CLI tools. The README credits the authorship in a line and a badge: latency-focused demos built by Devin.

They are not variations on one idea. nl-palette turns a phrase into a command-palette action, commit-sentry is a pre-commit hook, log-sentinel triages logs, send-guard checks an outgoing message, turbo-rerank reranks a corpus, jev-shell-guard hooks zsh’s accept-line, jev-voice-turn does turn-taking for a voice assistant. What they share is the shape: a decision model is asked several typed questions at once about one small thing, and code branches on the answers.

The tests are real, and they all pass

This is the part that separates it from a demo dump. Every web demo ships test, typecheck and lint scripts, and a committed lockfile. All sixteen, from a clean npm ci:

agent-assist    install=ok typecheck=ok lint=ok test=ok   14 passed
commit-sentry   install=ok typecheck=ok lint=ok test=ok   40 passed
inbox-blitz     … 31        jev-dispatch … 22      jev-firehose … 22
jev-instant-search … 37     jev-lint … 47          jev-swarm … 37
jev-tower … 32              judge-sheets … 24      live-minutes … 35
log-sentinel … 18           modstream … 20         nl-palette … 32
send-guard … 18             turbo-rerank … 23

452 tests, green. Our first pass failed one file in commit-sentry, and it was ours: its fixture builds a throwaway git repository and node:24-slim has no git. Installed it, and the suite went green.

What those tests do not have is anyone running them. The repository’s only CI workflow covers say, one of the five macOS demos — lint, swift test and a DMG build on macos-15. The other twenty have no workflow at all.

What a demo actually sends

We ran commit-sentry — a pre-commit hook — against a stand-in, with a secret-shaped string in one staged file and a .env file staged alongside it. Three requests for two hunks and a commit message:

questions per request: 10, 10, 2
question ids: risk leaks_secret_or_token logs_sensitive_data disables_or_skips_tests
              destructive_data_change changes_public_api_shape leftover_debug_or_temp
              hardcoded_env_specific_value kind offending_line
state: {"file":"a.ts","language":"TypeScript","change_type":"modification",
        "hunk":" export const OK = 1;\n+const token = \"sk-live-…\";\n+console.log(\"issued\", token);",
        "added_lines":{…}}

Ten judgements about one hunk in one round trip, and a separate two-question request asking whether the commit message describes the diff. Both canaries — the fake credential in the TypeScript file and the contents of the .env — went out in full. That is inherent to the task: you cannot ask whether a hunk leaks a secret without sending the hunk. It is still worth knowing before you install a hook that reads everything you stage. The API key itself appeared only in the Authorization header, never in a body.

TYPESAFE_BASE_URL is honoured here, which is what let us review the whole pipeline without an account. Most of the other demos hardcode the endpoint — it appears literally 28 times across the repository — so the same trick does not work on them.

The numbers on screen

Each README opens with a measured-run table, and the demos print timings live. Those are the author’s runs on the author’s machine, and this site does not republish other people’s Jev measurements, so we have not reproduced them here.

Two things about the presentation are worth knowing before you read those tables. --mock replays a recorded run rather than calling anything, and it says so in a banner at the top of the output — “replaying judgments recorded from a real run; no API calls made” — which is the honest way to ship a demo that works without a key. But the summary line comparing the hook with an LLM reviewer is computed against a hardcoded 10–60 second assumption, and it prints on every run, including the mock run and our stand-in run, where the ratio describes our loopback server. Read the comparison lines as illustration, not measurement.

The licence, or the absence of one

There is no LICENSE file, in the repository root or in any of the twenty-one directories. (The one licence file present belongs to a vendored skill under .agents/.) Without a grant, the default is exclusive copyright: you can read this code and you cannot copy it into your own project, which is exactly what a collection of reference implementations is for. Everything else here suggests care — lockfiles, tests, TESTING.md files, honest mock labelling — and this one missing file undoes most of its practical value.

Verdict

The best place in this directory to see the same idea worked through twenty-one times. If you are trying to decide whether a decision model fits a problem you have, find the closest demo, read its README, run its tests, and read the one module that talks to the API — in every case we opened, that module is small and is the whole integration.

Then write your own version, because you cannot use this one. Until a licence appears, treat it as documentation. For a single project in this shape that you can use, see Canny for the pre-commit idea and JevLoop for the agent loop.

See how it compares with other tools in Best Jev tools, tested hands-on.

Review updated Sep 22, 2026. Numbers quoted from the project are its author's own; we don't publish our own measurements of Jev.

More in Games & Real-Time Demos

TypeSafe Mario

★ 458▲ 3

fhshaik/typesafe-mario

Jev picks NES controller inputs for Super Mario Bros. from emulator state, with no screenshots.

PythonReviewed

jev-drone

★ 298▲ 9

RomanSlack/jev-drone

Camera-only quadrotor in MuJoCo with Jev making judgment calls at about 2.5 Hz.

PythonReviewed

JevPilot

★ 232▲ 3

standardagents/jevpilot

Three.js driving simulator with a Jev-powered autopilot.

JavaScriptReviewed

Get new Jev projects every week

New Jev releases, pricing changes, and the best new projects, once a week. No spam; unsubscribe anytime.

Powered by Buttondown. See our privacy policy.