jev2048
Browser lab where Jev plays many 2048 games in parallel with one Choice per move and an editor for the state format it receives.
Overview
Jev2048 is a small AI laboratory in which TypeSafe's Jev plays 2048 by picking the next move with a single Choice per turn among the valid directions. The React and shadcn web app runs as many games in parallel as you like, highlights the best board and tracks the live best score, with a persistent leaderboard.
Its distinctive feature is a state format editor that changes what Jev sees without code changes: free-text instructions; board encoding as exponents, raw values or a text grid; toggleable features such as empty cells, max-tile corner, monotonicity, smoothness and mergeable pairs; a legend and last move; and dynamic criteria that describe each move by its outcome (points merged, empty cells) versus static direction labels, all with a live JSON preview of the request. The 2048 engine is self-built with tests, and a FastAPI backend calls jev-latest. If the API rate-limits or is unreachable, a local heuristic keeps games running and the response is flagged.
What the decision model decides
| Type | Question | Answers |
|---|---|---|
| Choice | Which valid direction should be played next? | up · down · left · right |
How it works
- Configure state format in the browser
- Backend sends board state and a Choice over valid moves
- Apply the chosen move; repeat across parallel games
- Track best score; fall back to a heuristic on API errors
Strengths
- Easy experimentation with state representation
- Parallel games and leaderboard
- Tested game engine
Caveats
- No reported comparison of state formats in the README
- Heuristic fallback may mask API issues if unnoticed (though flagged)
At a glance
- Type
- Project
- Status
- prototype
- Language
- Python
- Runtime
- FastAPI + React
- Has code
- yes
- Has tests
- yes
Use cases and integrations
How curated lists describe it
Let Jev (TypeSafeAI) solve 2048.
hellogumbo/awesome-jev
Frequently asked questions
What can I change about Jev's input?
Instructions, board encoding, derived features, legend and whether options describe outcomes.
What happens if the API fails?
A local heuristic plays the move and the response is flagged.
How many games can run at once?
As many as you choose, in parallel.
Related projects
Local Snake game where code computes facts for each legal move and a local Qwen3.5 picks one in a single Jev-style Choice pass.
AppprototypePythonPython library that turns an open LLM into a Jev-style classifier via constrained single-token choice indexes in one forward pass.
ProjectprototypePythonAn LLM writes a task-specific Jev harness, improved with rewards and traces; a Pokemon harness rose from 25% to 75% wins.
ProjectresearchPythonChinese local MLX demo that scores 2-5 candidate decisions with a small Qwen model and drives a Snake game by choosing among moves.
ModelprototypePythonResearch engine for local System One decisions via llama.cpp logits projection with Qwen, running sub-second on a 4 GB laptop GPU.
ModelresearchPythonJev-inspired technique scoring single-token labels with an LLM's head via vLLM to fill typed fields, with a fast Mario demo.
BenchmarkresearchPython