Skip to content

Magic Jev Ball

A Magic 8 Ball that picks with Jev instead of at random. Hold, shake, release, and Jev chooses from the twenty classic answers and returns a probability for each one, shown under the ball.

Stars
2
Language
TypeScript
License
MIT
Published by
Community
Author
mikecann
Last verified
Oct 2026

mikecann/magic-jev-ball

User repository on GitHub

View on GitHub

A Magic 8 Ball that asks Jev instead of picking at random. Convex + AI Gateway + three.js.

Forks
2
Last pushed
Updated Sep 2026

Repo stats from the GitHub API, cached Oct 2026.Homepage

About this project

A Magic 8 Ball that doesn't pick at random. Hold the ball, shake it, let go, and Jev, TypeSafe's decision model, picks which of the 20 classic answers fits your question. It also returns a probability for every answer, which the page shows under the ball. src/main.ts draws the ball with three.js and handles the hold-shake-release interaction. convex/jev.ts is one Convex action. It sends your question to Jev through the Convex AI Gateway, so there are no model API keys to manage.

Quoted from the project's README. Read the full README.

Highlights

  • Every one of the twenty answers comes back with its own probability rather than a single result, so you can see the runner-up.
  • convex/jev.ts is one Convex action routing the question through the Convex AI Gateway, so there is no model API key to manage.
  • The ball itself is three.js in src/main.ts with a hold-shake-release interaction, served by the Convex static hosting component.
  • MIT licensed and small enough to read in one sitting: a frontend, one server function and a config.

Watch out

The whole idea depends on a paid feature — the README says you need a Convex project on a paid plan because the AI Gateway is a paid feature — so the free-tier path is not a deployment story. Routing through the gateway also means your questions go through Convex infrastructure to reach Jev, which is a different privacy posture from calling the API yourself, and the README does not discuss data retention on either side. The repository is very small: no tests, no CI, no configuration surface, and no discussion of failure handling when the Convex action errors or the model returns something unexpected, so treat it as a working sketch rather than a product. A deployed instance is one where somebody else pays for the gateway calls. Copy reviewed against the repository README on 2026-10-04, not from running it.

Questions about this entry

Short answers drawn from the linked project or page.

More Jev resources like this

23GitHub stars
Chrome extension that sends each X post to Jev with six typed questions in one call near the viewport, then renders a behavior chip under the post plus a session cost and latency panel.
Jev Demos & Experiments#community#jevbest#catalog-import
0GitHub stars
JevPlay is a playground for TypeSafe Jev: a freeform state block plus a builder for custom Choice, Score and Noul questions, showing live probability distributions as you write them. Setup is npm i and npm run dev.
Jev Demos & Experiments#community#jevbest#catalog-import
0GitHub stars
Chrome extension that re-ranks Google results with TypeSafe Jev: five atomic questions per result, a weighted score, sales pages flagged and hidden, and a button to restore Google's order.
Jev Demos & Experiments#community#jevbest#catalog-import
0GitHub stars
A TypeScript CLI and Fastify service that puts three questions about an occupation to Jev in one request - layoff risk, trajectory and human accountability - and derives a resilience score in app code.
Jev Demos & Experiments#community#jevbest#catalog-import
Open 150M encoder that reproduces the typed noul, choice, and score interface in one forward pass, trainable on a free GPU and runnable locally for nothing.
Jev Demos & Experiments#community#jevbest#catalog-import
98GitHub stars
Self-hosted Docker service and web UI that packages Laya structured-decision inference behind a compatible System One endpoint.
Jev Demos & Experiments#community#jevbest#catalog-import

From the Jev guides

Original write-ups on what this entry is for.

A game tick is a state plus a legal action list. How Clash Royale, Minecraft, and the earlier Mario, Pokémon, StarCraft, and drone loops ask Jev one step at a time.
Jev Demos & Experiments#gaming#agents#control
Read article
Back to all resources

From the Jev community

Posts from builders shipping with Jev right now.

Follow @typesafeai