TypeSafe Mario
★ 458▲ 3fhshaik/typesafe-mario
Jev picks NES controller inputs for Super Mario Bros. from emulator state, with no screenshots.
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
Watch out for
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.
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.
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.
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.
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.
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.
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.
fhshaik/typesafe-mario
Jev picks NES controller inputs for Super Mario Bros. from emulator state, with no screenshots.
RomanSlack/jev-drone
Camera-only quadrotor in MuJoCo with Jev making judgment calls at about 2.5 Hz.
standardagents/jevpilot
Three.js driving simulator with a Jev-powered autopilot.
New Jev releases, pricing changes, and the best new projects, once a week. No spam; unsubscribe anytime.
Powered by Buttondown. See our privacy policy.