TypeSafe Mario
★ 458▲ 3fhshaik/typesafe-mario
Jev picks NES controller inputs for Super Mario Bros. from emulator state, with no screenshots.
Camera-only quadrotor in MuJoCo with Jev making judgment calls at about 2.5 Hz.
View on GitHub →Hands-on review
A simulated drone where Jev makes the tactical calls and code keeps it flying. The README's headline comparison no longer reproduces at HEAD.
Good for
Watch out for
Tested Sep 20, 2026 at cbeb53ce4f17 · Python 3.11 and MuJoCo in Docker with software rendering; baseline runs with Jev disabled, no key needed
How we reviewed this: we built it in Docker on Python 3.11 with MuJoCo and software rendering, worked around the dependency pin, and ran the project’s own ablation with Jev disabled — three seeds, the same command the README documents. We didn’t run the Jev path, so nothing here judges its flying with the model engaged.
jev-drone, by Roman Slack, flies a simulated Skydio X2 through a pillar field in MuJoCo, chasing a ground rover using only its onboard camera. The layering is the interesting part, and the file header states it plainly:
500 Hz geometric controller
50 Hz guidance + hard safety reflex (always owns safety)
15 Hz onboard camera -> scene
~3 Hz Jev tactical judgment (advisory only)
Code turns the depth and segmentation buffers into a small symbolic scene — five forward sector distances, the gap straight ahead, the height of the obstacle’s top edge, the rover’s bearing, and how long it has been out of sight. Jev never sees pixels. One request asks three questions: a Choice over manoeuvres (hold course, gap left, gap right, climb, brake, reacquire), a Score for how tight things are, and a Noul asking whether the rover is genuinely lost rather than briefly occluded.
Code decides when to ask — only when something is within four metres, a sector is blocked, or the rover has been missing for a second — and dedupes repeated scenes. The tactician runs off the flight loop: a full queue drops the request rather than waiting, and there’s a per-episode call budget.
requirements.txt pins typesafe-sdk>=1.0. The published SDK is 0.7.0:
ERROR: Could not find a version that satisfies the requirement typesafe-sdk>=1.0
(from versions: 0.0.1a0, 0.5.7, 0.6.0, 0.7.0)
setup.sh runs with set -euo pipefail, so the failure stops the script before it clones the Skydio model or links the asset directory — you’re left with nothing usable. Dropping the pin fixes it, and 0.7.0’s API matches the code.
The README’s case for the project is an ablation table. The baseline is described as “safe but stuck”: “it never crashes and it never gets past station 2”, with the furthest point reached at “17.7 / 17.7 / 17.7 m” and zero collisions across three seeds.
We ran exactly that baseline — --no-jev --fast --seconds 65 --seeds 0 1 2 — at the current commit:
| seed | furthest point | crossed the barrier | collisions |
|---|---|---|---|
| 0 | 43.1 m | yes | 1 |
| 1 | 18.4 m | no | 1 |
| 2 | 18.2 m | no | 0 |
Seed 0 flew past the station the README says the baseline never reaches, with Jev switched off entirely, and two of the three seeds recorded a collision against the documented zero. Re-running seed 0 gave byte-identical output, so this isn’t run-to-run noise.
The most likely explanation is ordinary: the last commit changed the flight controller (“clamp desired vertical accel, lateral position loop”), and the table was measured before it. But as it stands, the comparison a reader uses to judge whether Jev helped is measured against a baseline that no longer exists, and the direction of the change removes part of the gap. We’ve reported it upstream. The honest version of the project’s claim — that a camera-only reflex heuristic is structurally incapable of deciding to climb over a barrier — is still visible in the numbers; the specific figures aren’t.
{mission, aircraft, observed}, where observed is the symbolic scene: sector distances, bearings, pixel counts. No images, no file paths, no environment. There is nothing here to redact, which is a pleasant change from most of what we review.replay.py unpickles. It loads a recorded tape with allow_pickle=True. Only replay tapes you made yourself.Six commits, created and last touched on September 16, MIT licensed, no open issues, no tests, no CI. It reads like a weekend demo built by someone who knows control systems — the controller, the reflex layer and the camera pipeline are carefully written, and the documentation explains the layering better than most production repositories manage.
As a demonstration of where a System One model fits in a control loop, this is the clearest example we’ve reviewed: the model advises at 3 Hz, code owns safety at 50 Hz, and the aircraft flies fine when the model is unavailable. The symbolic scene is a good piece of engineering in its own right.
As evidence that Jev helped, treat the README’s table as unverified: fix the dependency pin, run the ablation yourself, and expect different numbers from the ones printed.
For other simulated demos, see JevPilot and TypeSafe Mario in our roundup.
See how it compares with other tools in Best Jev tools, tested hands-on.
Review updated Sep 20, 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.
dabit3/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.
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.