JevPilot is a playable driving sim that asks Jev which path to take

This topic was created 31 days ago, and the information it contains may have evolved or changed since then.

Justin Schroeder wired Jev into a Three.js driving simulator in under an hour, then open-sourced JevPilot the next day. The model sees compact tables of candidate paths, not pixels. Requests run up to four times a second in traffic. On September 30, 2026 a headless run of that simulator, jev-1.13.0, reached the town and city arrivals with no collisions and stopped both highway drives at a 240 second cap.

On September 16, Justin Schroeder posted a clip of a Three.js car steered by Jev. He said he wired it in less than an hour. The next day he open-sourced JevPilot and put a playable build at jevpilot.standardagents.ai. The route in the README is Interstate 08: start in Millbrook, take the signed on-ramp, merge, cruise, exit into Cedar Town.

Jev does not see the frame buffer. The sim samples steering-and-speed combinations, then sends compact tables: eligible paths, road boundaries, nearby traffic, signals, stop memory, destination guidance. Shared table values go once. The road graph is sent only after the car has been more than 30 meters off course for six seconds. Detailed geometry stays local. On asphalt the sampler prefers paths that keep the whole car on the road. Off road it explores a wider field, including reverse, and supplies a recovery target. An immediate stop is offered only within 2.5 m of a blocker or stop line, at the destination, or when no moving path is eligible.

Requests run up to four times a second near turns or traffic, and about 1.5 times a second on clear roads. Questions with one eligible answer are resolved in the client. The J key toggles autopilot. The hosted /api/decide path needs a login; the API key stays on the server. Sign-in includes $0.25 of free Jev play credit. Local npm run dev skips login and bills your own key.

A later post from Schroeder put 15,000 Jev requests at $1.24, next to a week of maxed $200 Codex and Claude subscriptions. On September 18 he argued the list price is still high for control loops. At $0.042 per million input tokens, 10 Hz with 10k of context would be $0.0042 per second, about $15 per hour. He wants on-device weights, or roughly 10 times cheaper API pricing, before treating that as an industrial primitive. TypeSafe has not published an on-device Jev.

On September 30, 2026 this desk ran the same Simulation from Node, six times, on jev-1.13.0. There was no browser window and no hosted login. Town seeds 42 and 7 and city seeds 42 and 7 reached the arrival, with 0 collisions and 0 violations. Decision p50 was 458 to 499 ms. Highway seeds 42 and 7 were still 498 m and 460 m short when a 240 second cap stopped them, at about 22 m/s, again with 0 collisions. The six drives together were 1,073 calls and $0.064129 at the docs list price. No decision took longer than 1,800 ms, so the client’s stale-decision brake did not fire. A follow-up drill aborted the API call three times at 200 ms. Target speed went to 0, and autopilot turned off on the third failure. That drill did not open the Three.js page. These are simulator results. They are not Tesla Autopilot, and they are not the hosted demo.

This site's reading

Editorial notes evaluating claims against primary sources, contextualizing findings alongside related implementations, and defining technical terms.

Verify

The September 16 clip and the September 17 follow-up match the repository: a Three.js simulator, Jev choosing among sampled steering-and-speed paths, hosted play at jevpilot.standardagents.ai with $0.25 of demo credit after login.

The README states request rates of up to 4 per second near turns or traffic and about 1.5 per second on clear roads. Geometry and control stay in the browser. We did not drive the hosted build or measure those rates.

This is a game, not Tesla Autopilot. The $1.24 for 15,000 requests and the $15/hour 10 Hz sketch are Schroeder's own arithmetic from later posts, not a TypeSafe invoice.

On September 30, 2026 this desk drove the repository's Simulation class from Node, model jev-1.13.0, with no Three.js window and no login to the hosted demo. Six runs: town and city and highway, seeds 42 and 7. The loop stopped at arrival, at a crash, at 240 calls, or at 240 seconds. A decision whose wall time exceeded 1,800 ms was not applied, and the car's target speed was set to 0. That rule is the one in src/main.js. No call in these six runs exceeded it.

Town seed 42 arrived. 153 calls, list cost $0.009020, p50 458 ms, p95 1,090 ms, 107.8 s of wall time, 45.9 s of sim time, 0 collisions, 0 violations. Town seed 7 arrived. 146 calls, $0.008727, p50 499 ms, p95 807 ms, wall 102.1 s, sim 43.8 s, 0 collisions, 0 violations. City seed 42 arrived. 199 calls, $0.012049, p50 494 ms, p95 1,063 ms, wall 159.4 s, sim 59.7 s, speed 0.1 m/s at the end, 0 collisions, 0 violations. City seed 7 arrived. 157 calls, $0.009383, p50 489 ms, p95 693 ms, wall 117.9 s, sim 47.1 s, 0 collisions, 0 violations. Arrival in this sim leaves about 2 meters remaining.

Highway seed 42 did not arrive. The cap hit at 209 calls and 240.7 s of wall time, with 498 m still to go, speed 22 m/s, sim time 62.7 s, list cost $0.012464, p50 494 ms, p95 1,081 ms, 0 collisions, 0 violations. Highway seed 7 also stopped on the cap. 209 calls, 240.2 s, 460 m left, speed 21.9 m/s, sim 62.7 s, $0.012485, p50 493 ms, p95 1,096 ms, 0 collisions, 0 violations. Across the six drives that is 1,073 calls, 1,526,878 input tokens, and $0.064129 at $0.042 per million input tokens. Output tokens were 82,464 and are $0 on that list price. Two seeds and a 240 second cut are not a collision rate for the game.

A separate drill replaced fetch so the call aborted. server/jev.js was given AbortSignal.timeout(200) three times on a town seed 42 state. Each call returned TimeoutError in about 200 ms. After each failure the harness set target speed to 0. After the third it set autopilot off. That is the policy in src/main.js around the catch that pauses after three errors. The browser client itself aborts /api/decide at 12 seconds and drops a decision that arrives after 1,800 ms. This drill did not click that page. The hosted demo was not driven. The $1.24 and $15 figures remain Schroeder's arithmetic.

Compare

Browser Use and Stagehand also keep pixels (or most of them) off the model: the host builds an action list, Jev picks, the runtime clicks. Tetris enumerates legal landings. JevPilot enumerates candidate trajectories.

Watts's trader posts a buy or sell every 300 ms block; JevPilot posts a path several times a second. Schroeder's later note is the first on this desk to price a continuous 10 Hz loop at current list rates and call the result still too expensive for industrial control.

Terms

Action table
The compact state Jev sees: eligible paths, road boundaries, nearby traffic, signals, stop memory, and destination guidance. Shared values are sent once.
Decision rate
How often the sim asks Jev for a new path. The README caps this at 4 Hz in traffic and about 1.5 Hz on an empty road. Single-answer questions are resolved locally.
Play credit
The hosted demo signs you in through Standard Agents and gives $0.25 of Jev spend. Local development uses your own TypeSafe key and skips login.

Sources

  1. Justin Schroeder, Jev driving-sim clip
  2. JevPilot open-sourced, with a playable build
  3. JevPilot repository
  4. Hosted JevPilot demo
  5. Schroeder on cost and 10 Hz industrial use
  6. Schroeder, 15,000 Jev requests for $1.24