Awesome Jev

How it works

Awesome Jev is a list that judges itself. Five stages run end to end; the only place a model is called is stage three, and the only place a human decides anything is an override with a written reason.

Pipeline

Data-flow diagram: GitHub search and community lists feed candidates into pipeline code, Jev judges each repository in one call, code applies the policy with human overrides, and the README and site are published daily.
  1. 1

    Discover

    Candidates come from the GitHub API: code and repository search for Jev and TypeSafe System One, plus the repositories other Jev lists already link to. Forks are dropped. Everything is appended to a candidate file, so discovery is repeatable and auditable.

  2. 2

    Enrich

    For each candidate the pipeline pulls the material a judgment needs: README excerpt, package manifests, declared dependencies, and repository metadata. Results are cached per repository so a rerun does not re-fetch what has not changed.

  3. 3

    Judge

    One Jev call per repository answers the whole question set at once: is this genuinely about Jev, does it use Jev at runtime, is it a meta list, is it a reimplementation, which category and decision pattern, and how substantial, documented, and novel it is. Raw judgments are immutable and append-only, tagged with model id and question set.

  4. 4

    Curate

    Policy lives in code, not in the model. Thresholds turn probabilities into listed, review, or excluded; weights turn the 0-3 scales into a composite score. Changing a threshold regenerates the index without re-running inference.

  5. 5

    Publish

    The curated file is the single source for both the README and this site. The site is a static export with no server logic and no API keys: every number you see here was computed at build time.

Policy in force

These are the exact values applied to the current index, read straight from the curated data generated 2026-11-01 12:33 UTC.

KeyValue
qsetv2
gate.listed_min0.5
gate.review_min0.3
gate.substance_min0.5
gate.meta_list_min0.7
gate.reimpl_min0.7
category_uncertain_below0.5
weights.substance0.45
weights.docs0.25
weights.novelty0.3
star_bonus_max0.1
readme_top_per_category15

Calibration

A hand-labelled gold set is the test suite for the judgments. The sweep below moves the genuine-probability gate and reports how the resulting listing decision compares to the human labels on 80 repositories, question set v2.

ThresholdTPFPFNTNPrecisionRecallF1
0.20653570.9560.9290.942
0.30642680.9700.9140.941
0.40632780.9690.9000.933
0.505821280.9670.8290.892
0.605611490.9820.8000.882
0.705211890.9810.7430.846
0.804412690.9780.6290.765
0.903813290.9740.5430.697
Category agreement
92.4%
Gold set size
80
Question set
v2
Computed
2026-09-20 03:15 UTC

Calibration report

The gold set is 80 repositories labelled by hand from README, manifests and code-search evidence: a first pass by an assistant, every label reviewed by the maintainer. It was sampled in strata so the interesting cases are over-represented: noise that keyword search drags in, repositories Jev scored near the gate, and genuine projects spread across category, stars and language. Two fields are labelled separately on purpose: genuine asks whether the repository is about Jev at all, substance how real it is. A one-line scaffold with a TypeSafe dependency is genuine and empty.

The full write-up, including every gate disagreement and what each one says about the evidence or the question set, is in docs/calibration.md.

Threshold

The listed gate is genuine ≥ 0.5 with a substance floor beside it, and those two are the whole gate. The sweep above over-states the miss rate: repositories near the gate were deliberately over-sampled.

Two repositories a human called noise now score above the gate — one whose entire content is a 117-character README, one with no files at all — so precision on the gold set reads 0.97 where an earlier run read 1.00. Both are empty repositories that the substance floor exists to hold back and no longer does; that is a problem with the substance score, not with the gate, and moving the gate to cover for it would cost real projects. The working through is in docs/calibration.md §3.

Category confidence used to be a third condition and is not one any more: it answers which shelf an entry belongs on, not whether it belongs on any, and the two are independent enough that a personal blog with no Jev in it scores 0.96. A repository Jev is sure about is now listed with its category marked uncertain rather than held back.

Category

Jev and the human label agree on 92% of 66 categorised repositories. Where they disagree:

HumanJevCount
Agent and Dev ToolingResearch and Evals1
IntegrationsAgent and Dev Tooling2
IntegrationsSDKs and Clients1
LearningGames and Simulation1

Three quarters of judgments come back at 0.9 or above and every one of those is right; below that the cells are small and the curve is not monotonic. The uncertainty threshold reads this: under it the category is shown with a question mark instead of stated plainly. Listing is unaffected either way.

ConfidencenAccuracy
0.0 – 0.53100%
0.5 – 0.7956%
0.7 – 0.9683%
0.9 – 1.048100%

Substance

Jev's 0–3 substance score against the human one: Spearman 0.75, mean absolute error 0.31 (n=54). Good enough to rank within a category, not to be read as a grade.

Where Jev and the humans disagree on the gate

Every disagreement at the current gate. Most are repositories whose README says nothing about Jev while the code uses it; README-only evidence cannot see those.

RepositoryJevHumanWhy
vercel/eve0.03genuineships Jev as default eval model in experimental evaluate path; README does not say so
danieljvdm/effect-agent0.08genuinepackage.json depends on typesafe, README silent; same class as vercel/eve; rhc confirmed true. ★112
monotykamary/pi-fabric0.10genuinecode-search hit only, README silent; rhc confirms related project. ★231
BunsDev/typesafe-ui0.13genuineshadcn UI kit for TypeSafe AI apps; no API calls in evidence; rhc confirmed true
cgarrot/pi-knowledge-fabric0.16genuineREADME lists "Jev/TypeSafe (bounded judgments)" as an optional adapter, disabled by default; jev gate 0.16 — same class as vercel-labs/ai-cli
ndolinschi/cartshield0.26genuineNext.js stub + SPEC.md; README one line
ASpooky/jev-kata0.39genuinekata scaffold with src/ and typesafe dep; README one line
ndolinschi/spendbrake0.42genuinestub dashboard; README 150 chars
tylorsaling-source/typesafe_use_cases0.43genuineno README; demos + tests import typesafe_sdk (pyproject dep)
vercel-labs/ai-cli0.48genuineCLI can run Jev as evaluation model; README mention is thin
genai-craft/openvons0.48genuineopen-Jev reimplementation (is_reimpl 0.84); sdk_client is the alternative
AliceRoselia/Typesafe_chess_eval0.49genuinesingle-file eval of Jev at chess; jev gate 0.49
nicolasalveshenrique-spec/medical-knowledge-triage0.56noiseno files, no README; description only
vinnie357/typesafe_sdk_ex0.95noiseREADME-only stub of an Elixir SDK; no code

Question set v1 → v2

Measured on the 33 gold repositories judged under both sets. v2 removed the "official" category (now an owner flag in code) and rewrote the gate question to name what counts: uses, wraps, evaluates or reimplements Jev.

Metricv1v2
mean genuine, human true0.690.87
mean genuine, human false0.030.03
gate precision @0.51.001.00
gate recall @0.50.830.93
gate F1 @0.50.910.97
category agreement0.860.93
mean category confidence0.870.89

Cost and latency

Calls stored
3683
Input tokens per call
3235
Latency p50 / p90
210 / 337 ms
Estimated spend to date
$0.50 at $0.042/1M input

Corrections

Judgments are wrong sometimes, and the wrong ones are the interesting ones. Open an issue with the Jev got it wrong template, or read the pipeline yourself in the repository.