Skip to content

beatjev

Browser game racing a human against Jev to spot spam over 25 rounds, comparing speed and accuracy, on a Cloudflare Worker.

Projectprototype

Overview

BeatJev is a 25-round spam-or-not reaction race between you and TypeSafe's Jev. Each round counts down, then the message appears, your timer starts and the page asks Jev the same question on the same tick. A results screen compares speed and accuracy and offers a share link and image.

It runs as a Cloudflare Worker with static assets and a /api/classify endpoint that calls Jev through @typesafe-ai/sdk so the key stays server-side. The question is a Noul (is this spam, a scam or deceptive marketing); isSpam is probability at or above 0.5, and confidence is derived as the distance from 0.5 times two. Latency is measured around the SDK call only. Jev has a 3-second timeout with no retries, and its verdict is hidden until you pick. Without a key it falls back to a clearly badged keyword mock that is not Jev.

What the decision model decides

TypeQuestionAnswers
Yes / noIs this spam, a scam, or deceptive marketing?yes · no

How it works

  1. Round starts; message shown to player and sent to the Worker
  2. Worker asks Jev the Noul with a 3 s timeout
  3. Return isSpam, probability, confidence and latency
  4. After 25 rounds compare speed and accuracy

Strengths

  • Simple, transparent latency measurement
  • Key kept server-side
  • Clear mock mode labelling

Caveats

  • 0.5 threshold is arbitrary
  • Game, not an evaluation

Getting started

npm install && npx wrangler login && npx wrangler secret put TYPESAFE_API_KEY && npx wrangler deploy

At a glance

Type
Project
Status
prototype
Language
JavaScript
Runtime
Cloudflare Worker
Has code
yes

Use cases and integrations

How curated lists describe it

Frequently asked questions

What does Jev decide?

Whether a message is spam, a scam or deceptive marketing.

How is confidence computed?

As |probability - 0.5| x 2, since a Noul returns only a probability.

Does it work without a key?

Only in a labelled keyword mock mode, which is not Jev.

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