1v1 Jev
Browser 1v1 sniper arena where Jev reads match state about 9 times a second and chooses movement, aim, ADS, firing and jumping.
Overview
1v1 Jev is a server-authoritative browser FPS: one human at a time fights Jev in an industrial yard, first to five kills, while others queue, spectate and chat. It is built with Vite, Three.js and TypeScript on the client and a Node WebSocket server running a 60 Hz simulation.
Jev is the opponent's brain. At each decision tick (about 9 Hz) the server builds structured JSON state and fans out Choice and Noul questions for movement, yaw, pitch, aim-down-sights, fire and jump, using the @typesafe-ai/sdk with jev-latest. The API key stays on the server, calls run only during live play, and if TypeSafe is unreachable a deterministic heuristic uses the same action interface so matches never stall.
What the decision model decides
| Type | Question | Answers |
|---|---|---|
| Choice | Which way should the bot move / turn / pitch? | — |
| Yes / no | Should the bot aim down sights / fire / jump now? | yes · no |
How it works
- Server builds structured match state each tick (~9 Hz)
- Fan out Choice/Noul questions for move, yaw, pitch, ADS, fire, jump
- Apply the answers to the bot in the 60 Hz simulation
- Fall back to a deterministic heuristic if TypeSafe is unreachable
Strengths
- Key never reaches the browser
- Heuristic fallback keeps matches running
- Calls only while a match is live, limiting spend
Caveats
- Needs a TypeSafe API key
- Requires a long-lived Node host; README notes Vercel serverless cannot host it
- No licence stated
Getting started
npm install, copy .env.example to .env with TYPESAFE_API_KEY, then npm run dev.At a glance
- Type
- Service
- Status
- beta
- Language
- TypeScript
- Runtime
- Node server + browser (Three.js)
- Has code
- yes
Use cases and integrations
How curated lists describe it
A browser-based 1v1 shooter where Jev reads structured match state and chooses movement, aim, and firing.
logicrw/awesome-jev-projects1v1 Jev quickscope arena — Three.js + TypeSafe System One.
wh000wh000/awesome-jev-live1v1 Jev quickscope arena — Three.js + TypeSafe System One.
hellogumbo/awesome-jevThree.js quickscope arena where Jev decides movement, aiming, ADS, firing, and jumping at roughly 9 Hz.
MrJev/awesome-jev
Frequently asked questions
What does Jev control?
The opponent's movement, aim, aim-down-sights, firing and jumping, via Choice and Noul questions each tick.
What happens if the API is down?
A deterministic heuristic with the same action interface takes over.
Where can I deploy it?
The README recommends a single Railway service running the Node server and serving the built client.
Related projects
Source for browser chess and Chess960 where code computes each legal move's facts and Jev picks one per turn as a typed Choice.
ProjectproductionTypeScriptInstrumented 2048 web lab where every move is a Jev Choice over four directions, with probabilities, latency and cost shown live.
ProjectbetaTypeScriptFifteen live arcade games where Jev and LLMs play each other, led by WikiRace in which Jev picks only real links.
ProjectbetaTypeScriptReal-time bot battles where you write a fighter's strategy in plain English and a System One model pilots it several times a second.
ProjectbetaTypeScriptBrowser extension that lets Jev, local Laya or an OpenAI-compatible model take over a running ra2web (WannaFire) RTS match.
ProjectbetaTypeScriptOne-page web app where Jev plays chess against OpenRouter LLMs, Stockfish or you, showing the moves it weighed and their probabilities.
AppbetaJavaScript