jev-play-ping-pong
Jev plays a browser table-tennis game in real time, choosing serve direction, contact angle and pace from structured telemetry.
Overview
Jev plays RALLY is a small, auditable example of Jev playing a live browser game. Code reads structured table-tennis telemetry from the game's public test mode, sends it as JSON, and Jev chooses every serve (left, centre or right) and, for each return, the contact angle (centred, left-angled or right-angled) and pace (controlled or power) as independent Choice questions in one request. Code computes trajectories and safe contact geometry but executes only Jev's choices, moving the racket through ordinary Chrome input.
The author stresses the reusable boundary: deterministic code observes and executes, and Jev makes narrow typed decisions. One recorded run at Club difficulty is reported: Jev won 11-0 in real time with 124 decisions, zero late actions, 325 ms median and 889 ms maximum latency, and $0.0052 in API cost. The README says this is one demonstration, not a benchmark. The repository has no npm dependencies.
What the decision model decides
| Type | Question | Answers |
|---|---|---|
| Choice | Where should this serve go? | left · center · right |
| Choice | How should the racket contact this return? | centered · left-angled · right-angled |
| Choice | What pace should the return have? | controlled · power |
How it works
- Read structured telemetry from the game
- Send serve or return questions to Jev in one request
- Validate the response
- Code computes geometry and moves the racket via Chrome input
Strengths
- Real-time play without pausing physics
- Very low cost for a full game
- Dependency-free and well documented for adaptation
Caveats
- Single recorded run, not a win-rate claim
- Relies on the game's structured test mode
- Requires Chrome with remote debugging and a TypeSafe key
Getting started
Clone the repo, add TYPESAFE_API_KEY to .env, start Chrome with --remote-debugging-port=9222, then run the start command from the README (Node 22+).At a glance
- Type
- Project
- Status
- prototype
- Language
- JavaScript
- Runtime
- Node driving Chrome
- Has code
- yes
- License
- MIT
Use cases and integrations
How curated lists describe it
Uses Jev to choose serve direction, return angle and pace in a browser table-tennis game.
logicrw/awesome-jev-projectsJev plays browser table tennis in real time: structured telemetry, typed decisions, ordinary Chrome inputs, and auditable evidence.
hellogumbo/awesome-jev
Frequently asked questions
What does Jev decide?
Serve direction and, for each return, contact angle and pace.
Does Jev see the screen?
No. It receives structured telemetry, not screenshots.
How well did it play?
In one recorded run it won 11-0 with no late actions.
Related projects
Selenium bot that plays 2048.org by fusing expectimax search with a Jev Choice over legal moves on every turn.
ProjectprototypePythonAgent where Jev plays a real online 2048 website through Playwright with one API call per move and no text-generating model.
ServiceprototypePythonSpectator demo where two independent Jev agents play Snake side by side by clicking indexed direction buttons in separate iframe browsers.
ProjectprototypeTypeScriptPrebuilt browser, computer-use, robotics and game agents whose actions come from Jev, Laya or Cua-S1, with a scaffold for new agents.
ProjectbetaPythonSource for browser chess and Chess960 where code computes each legal move's facts and Jev picks one per turn as a typed Choice.
ProjectproductionTypeScriptBrowser 1v1 sniper arena where Jev reads match state about 9 times a second and chooses movement, aim, ADS, firing and jumping.
ServicebetaTypeScript