Skip to content

tictacjev

Tic-tac-toe web app where Jev plays one side, choosing each move as a Choice over open cells with visible probabilities.

Appprototype

Overview

Tic Tac Jev is a small full-stack game where every move for one side comes from Jev. The FastAPI backend sends the board as natural-language state and a Choice question whose criteria are only the currently empty cells, labeled like "center" or "top-right corner". Jev returns the chosen cell, a confidence and a probability for each candidate.

The React frontend shows a move log where each Jev move expands into probability bars for every cell it weighed. The point is to make a decision model's reasoning easy to watch: with nine cells and at most eight legal moves, the full distribution fits on screen. It suits developers who want a compact example of building a Choice question from live state and surfacing calibrated probabilities in a UI.

What the decision model decides

TypeQuestionAnswers
ChoiceWhich open cell should Jev play next?center · top-right corner · ...one option per empty cell

How it works

  1. The human submits a move via POST /games/{id}/moves.
  2. The backend builds a Choice question listing only empty cells and sends the board as state.
  3. Jev returns the chosen cell, confidence and per-cell probabilities.
  4. The move and its distribution are stored and rendered in the move log.

Strengths

  • Restricting criteria to empty cells means Jev can only pick legal moves.
  • Per-move probability bars make the decision transparent.
  • Backend and frontend both include tests.

Caveats

  • A toy demo with a tiny decision space.
  • Requires a Jev API key.
  • No license stated in the README.

Getting started

cd backend && cp .env.example .env (set JEV_KEY) && uv sync && uv run uvicorn app.main:app --reload; then cd frontend && npm install && npm run dev

At a glance

Type
App
Status
prototype
Language
Python, TypeScript
Runtime
FastAPI backend + React/Vite web app
Has code
yes
Has tests
yes

Use cases and integrations

How curated lists describe it

  • A tic-tac-toe app where one player is Jev, TypeSafe AI's System One Model with live confidence scores and probabilities.

    logicrw/awesome-jev-projects

Frequently asked questions

What does Jev decide here?

Which empty cell to play on its turn, chosen from a Choice question built from the current board.

Can Jev make an illegal move?

The criteria list only open cells, so its answer is always a legal move.

What do I need to run it?

Python 3.12+, uv, Node.js and a Jev API key set as JEV_KEY.

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.

    ProjectproductionTypeScript
  • Browser 1v1 sniper arena where Jev reads match state about 9 times a second and chooses movement, aim, ADS, firing and jumping.

    ServicebetaTypeScript
  • Instrumented 2048 web lab where every move is a Jev Choice over four directions, with probabilities, latency and cost shown live.

    ProjectbetaTypeScript
  • Fifteen live arcade games where Jev and LLMs play each other, led by WikiRace in which Jev picks only real links.

    ProjectbetaTypeScript
  • Real-time bot battles where you write a fighter's strategy in plain English and a System One model pilots it several times a second.

    ProjectbetaTypeScript
  • Browser extension that lets Jev, local Laya or an OpenAI-compatible model take over a running ra2web (WannaFire) RTS match.

    ProjectbetaTypeScript