MachineLearning-Nerd/jev-tetris
User repository on GitHub
A visual TypeSafe demo where Jev chooses verified Tetris placements.
- Forks
- 0
- Last pushed
- Updated Sep 2026
Repo stats from the GitHub API, cached Oct 2026.
A Streamlit Tetris where the engine enumerates every legal placement, Jev picks one typed placement ID, and Python verifies rotation, column and exact occupied cells before the piece is allowed to lock.
MachineLearning-Nerd/jev-tetris
User repository on GitHub
A visual TypeSafe demo where Jev chooses verified Tetris placements.
Repo stats from the GitHub API, cached Oct 2026.
This is one of several Jev listings for the same project. The canonical entry is Jev Tetris — trungdq88.
This is a public, company-data-free TypeSafe experiment. It demonstrates a useful pattern for Jev: give the model a finite set of valid outcomes, ask it to select one typed option, and let ordinary code verify and execute the choice. Jev is not asked to invent keyboard commands or output arbitrary coordinates. The engine enumerates the legal final placements for the current piece. Each candidate contains: rotation (0, R, 2, or L); leftmost occupied column and landing row;
Quoted from the project's README. Read the full README.
Watch out
The model's job is narrower than playing Tetris: the engine enumerates the legal final placements and Jev chooses an ID from that finite set, so the ceiling on play quality is set by the enumeration, not by the model. Two things will mislead you if you are not careful. The deterministic local planner stands in for Jev whenever no key is set, so an unconfigured run looks like the model playing and is not. And live mode requires TYPESAFE_API_KEY in the server environment, where it is read by Python and never sent to the browser, with .env.example documenting the variable without holding a secret. The provided checks are unittest plus py_compile over the engine, the placement contract and the app modules, which cover physics and enumeration rather than live API behaviour. The board is zero-indexed with columns 0 through 9 and rows 0 through 19 from the top, and the candidate column is the leftmost occupied cell, which matters if you read a JSON trace. Earlier synthetic Agent Courtroom and SQLite experiment files remain in the folder for comparison even though the Tetris playground is the default app. All state is synthetic and company-data-free. Copy reviewed against the repository README on 2026-10-04, not from running it.
Original write-ups on what this entry is for.
Posts from builders shipping with Jev right now.