Skip to content

jev-flappy-bird

Live demo where Jev plays Flappy Bird alone, answering flap or wait about twenty times a second with several requests in flight.

AppprototypeMIT

Overview

Jev Plays Flappy Bird is a live demo in which Jev is the only thing controlling the bird. About twenty times a second, the game asks one Choice question, FLAP or WAIT, with each option described. If Jev stops answering, the bird falls.

With each question the game sends a small snapshot: bird position and speed, distance to the next pipe and its gap, room above and below, and the same facts in plain words such as 'inside the gap, lower half' and 'falling'. The snapshot describes the scene without telling Jev what to do. The game never waits for Jev; it asks the next question without waiting for the last answer, keeping about six in flight. Answers are used exactly as returned, with no thresholds, backup rules or retries, because a retried answer would arrive too late. The key stays on the local server, and a model version can be pinned for repeatable runs.

What the decision model decides

TypeQuestionAnswers
ChoiceShould the bird flap or wait?FLAP · WAIT

How it works

  1. observe() builds a snapshot of the scene
  2. Local server sends the Choice to Jev
  3. Several requests stay in flight without blocking the game
  4. Apply each answer as returned

Strengths

  • Shows Jev's latency in a real-time loop
  • No hidden rules or fallbacks
  • Key kept server-side

Caveats

  • Toy game
  • Performance depends on network latency

Getting started

`npm install`, copy .env.example to .env with TYPESAFE_API_KEY, `npm run dev`, then open http://localhost:5173 and press Space.

At a glance

Type
App
Status
prototype
Language
TypeScript
Runtime
Vite web app with local Node server
Has code
yes
License
MIT

Use cases and integrations

How curated lists describe it

Frequently asked questions

What does Jev decide?

Whether the bird flaps or waits, about twenty times a second.

Is there a fallback controller?

No, Jev's answer is used as is and nothing else controls the bird.

How does it handle latency?

It keeps about six questions in flight and never waits for an answer.

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