jev-column-race
Live race labelling 1,000 app reviews with four typed Jev questions versus Gemini 3.8 Flash JSON output.
Overview
Jev Column Race is a browser demo that labels 1,000 Android app reviews in four columns, running Jev and Gemini 3.8 Flash side by side with identical batches and concurrency. Jev answers 80 typed questions per request (sentiment as a five-level Score, topic as a Choice, bug report as a Noul, churn risk as a four-level Score), while Gemini returns one JSON object per request.
It is meant as a reproducible comparison of a decision model against a chat model for bulk labelling. Star ratings are withheld from both models and used as an independent check on sentiment. The README reports one recorded run pair where Jev finished in 4.6 seconds for $0.023 against 18.8 seconds and $0.158 for Gemini, with star-rating agreement of 0.80 versus 0.82. Live runs cost money; recorded runs can be replayed at original timing without keys.
What the decision model decides
| Type | Question | Answers |
|---|---|---|
| Score | Sentiment of the review | — |
| Choice | Topic of the review | bug · pricing · usability · feature request · praise · other |
| Yes / no | Is this a bug report? | — |
| Score | Churn risk | — |
How it works
- Load 1,000 reviews with star ratings withheld
- Send 20 reviews per request, 8 in flight, to both lanes
- Jev answers 80 typed questions per request; Gemini returns JSON that is parsed and retried if invalid
- Validate rows, stream timers, cost and a heat map to the browser, and save the run for replay
Strengths
- Same-conditions comparison of speed and cost for bulk labelling
- No JSON parsing or retry needed on the Jev lane
- Zero npm dependencies; replays need no keys
Caveats
- Figures come from one recorded run pair
- Live mode needs both a TypeSafe key and an LLM key and costs money
Getting started
Clone the repo, copy .env.example to .env with TYPESAFE_API_KEY and LLM_API_KEY, run `node server.mjs`, and open http://127.0.0.1:8777.At a glance
- Type
- App
- Status
- prototype
- Language
- JavaScript
- Runtime
- Node 20+ server with browser UI
- Has code
- yes
Use cases and integrations
How curated lists describe it
Jev vs Gemini 3.8 Flash: labelling 1,000 app reviews, 4.1× faster and 7× cheaper.
hellogumbo/awesome-jev
Frequently asked questions
What does Jev label?
Sentiment, topic, bug report and churn risk for each review, using Score, Choice and Noul questions.
How did it compare to Gemini?
In one recorded run pair the README reports 4.1 times faster and 7 times cheaper, with similar agreement with star ratings.
Can I try it without keys?
Yes, replay mode re-emits a recorded run and needs no API keys.
Related projects
- jev-arena★ 122
Side-by-side tool comparing Jev and DeepSeek on labelling the same comments for relevance, sentiment and intent, with replay and reports.
ProjectbetaTypeScript Codex plugin for batch labelling JSONL records with Jev under custom policies, with Codex reviewing uncertain labels.
MCP serverbetaTypeScriptClassifies 1,000 arXiv AI papers into 24 topics with one Jev Choice each and checks agreement against an LLM judge.
ProjectprototypePythonPipeline that ingests Google Maps restaurant reviews and classifies sentiment, five rating pillars and flags with Jev or an LLM.
ServiceprototypeTypeScriptpandas and Polars .jev accessor for classifying, sentiment-scoring and grading DataFrame rows with Jev probabilities.
DemobetaPythonGoodWatch movie and TV recommendation monorepo, listed for an experiment comparing Jev question designs for attribute scoring.
ProjectresearchTypeScript