OpenJev runs a decision model entirely in the browser
openjev.com is a local experiment that asks one local model the same decision twice: once by reading its choice logits directly, once by generating the distribution as JSON, token by token. Every number is measured on the visitor's own GPU.
The page at openjev.com presents itself as a live, local experiment under the banner SemIf — semantic ifs from open models, in your browser. There is no signup and no waitlist: a visitor picks a model size, loads it on their own GPU and compares two ways of extracting a decision from the same weights. Nothing is sent to a server, and the page states plainly that inputs never leave it.
One question, asked two ways
The experiment poses a single decision — a state, a question and a list of allowed options — to one local model, then answers it along two paths. The first is a direct readout: the code reads the model's choice logits and normalizes them only across the options that were supplied, with no decoding step. The second is generation: the same model is asked to estimate the same distribution and write it out as JSON, token by token.
The two runs happen sequentially on the one loaded model so that they do not contend for the same GPU. The direct readout goes first, and generation follows.
Every measurement comes from the visitor's machine
The site times setup, warmup, prompt preparation, direct execution, the first generated token and generation completion with performance.now(). It states that no canned results appear: the ratio on screen is the one produced by the visitor's own hardware, and it exists only in the browser tab.
The caveats the demo spells out
The published notes are unusually careful. Direct scores are a softmax over only the displayed option tokens — they are not calibrated confidence, and they do not cover every answer the model might have preferred. MiniCPM5 2B is the desktop default at 1.56 GB; Qwen3 0.6B is suggested for phones and smaller devices, while a 4B option needs substantially more memory. None of the tiers is claimed to match Jev, whose values appear alongside balanced-accuracy columns and a 102-row public subset.
Weights are fetched from Hugging Face and stay in the browser cache, using pinned GGUF builds through wllama. Quantization can change both quality and speed, and the page warns that a first load may take several minutes depending on the model, the network and the GPU.
SiTech — AI-powered web development
We build fast, modern websites and bring AI into real business workflows. Have a project or a question? We'd love to help.