Skip to content

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.

Projectprototype

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

TypeQuestionAnswers
ChoiceWhich valid direction should be played next?up · down · left · right

How it works

  1. Configure state format in the browser
  2. Backend sends board state and a Choice over valid moves
  3. Apply the chosen move; repeat across parallel games
  4. 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

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.

    AppprototypePython
  • Python library that turns an open LLM into a Jev-style classifier via constrained single-token choice indexes in one forward pass.

    ProjectprototypePython
  • An LLM writes a task-specific Jev harness, improved with rewards and traces; a Pokemon harness rose from 25% to 75% wins.

    ProjectresearchPython
  • Chinese local MLX demo that scores 2-5 candidate decisions with a small Qwen model and drives a Snake game by choosing among moves.

    ModelprototypePython
  • Research engine for local System One decisions via llama.cpp logits projection with Qwen, running sub-second on a 4 GB laptop GPU.

    ModelresearchPython
  • Jev-inspired technique scoring single-token labels with an LLM's head via vLLM to fill typed fields, with a fast Mario demo.

    BenchmarkresearchPython