Skip to content

beat-jev

Penalty shootout game against Jev, run as a Render Workflows task with scores in Postgres, in TypeScript and Python versions.

Libraryprototype

Overview

Beat Jev is a penalty shootout where you take turns shooting and keeping goal against TypeSafe Jev. It is an example app for Render: one Render Workflows task owns each match and scores are saved in Render Postgres, with separate TypeScript and Python examples sharing a 3D frontend and game rules, each with a live game.

The README focuses on infrastructure details, such as how a lost reply when starting a match is recovered by reusing an idempotency key derived from the match, and the limits of that deduplication. How Jev picks shots and dives is in the per-language READMEs, not the top-level one.

What the decision model decides

TypeQuestionAnswers
ChoiceWhere should Jev shoot, or which way should it dive?(inferred)—

How it works

  1. Player starts a match; a Workflow run owns it
  2. Each turn, Jev picks a shot or save direction
  3. Result stored in Postgres
  4. Match continues until a winner

Strengths

  • Shows durable workflow patterns around a decision model
  • Two language implementations

Caveats

  • Each example deploys a paid Postgres database
  • Jev details are in sub-READMEs

Getting started

Follow the TypeScript or Python README to deploy the web service, workflow and database on Render.

At a glance

Type
Library
Status
prototype
Language
TypeScript
Runtime
Render Workflows + Postgres (also Python)
Has code
yes

Use cases and integrations

How curated lists describe it

Frequently asked questions

What does Jev decide?

Its shots and goalkeeping in the penalty shootout.

Why Render Workflows?

One workflow task owns each match, demonstrating durable execution.

Is there a Python version?

Yes, alongside TypeScript.

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