Skip to content

Yc Jev Bench

An independent benchmark asking whether Jev can replace an LLM reranker, run over natural-language search across all 6,245 YC companies, plus the live search app it measures: Jev routes the query, BM25 and embeddings retrieve, Jev reranks.

Stars
1
Language
TypeScript
Published by
Community
Author
PPRAMANIK62
Last verified
Oct 2026

Can Jev replace an LLM reranker? A benchmark of TypeSafe's Jev vs Claude Haiku and BGE on natural-language search over all 6,245 YC companies, with a live search demo.

Forks
0
Last pushed
Updated Sep 2026

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

About this project

Can Jev replace an LLM reranker? An independent benchmark of TypeSafe's Jev on natural-language search over all 6,245 YC companies, plus a live search demo that runs on it. / is the live search. Your query is routed by Jev, retrieved with BM25 + embeddings, then reranked by Jev. /report is the benchmark write-up, rendered from src/generated/results.json. The spec is EXPERIMENT.md. Design rules are in docs/design.md. Jev API notes are in docs/jev-notes.md.

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

Highlights

  • Reranking arms are none, bge, haiku and jev and routing arms are haiku or jev, with formulations picked on the dev split before the test split is touched.
  • Every bench script is resumable: it appends to its output, skips work already done, and is a no-op when complete.
  • Deployment is the hard part: the traced bundle comes to 177.0 MB against Vercel's 250 MB limit, with ONNX runtime files pinned in next.config.ts.
  • If the embedding model cannot load, search degrades to BM25 and says so, with mode keyword_only printed under the results.

Watch out

You need bun, and while the app itself only wants TYPESAFE_API_KEY, the Haiku arm and the Opus judge go through your local claude CLI on a Claude Code subscription, with the full test split costing about 2,000 Haiku calls at eight in flight plus a few hundred Opus calls. The 133 MB fp32 document-vector file is past GitHub's per-file limit and too large for the function, so it is gitignored and fetched on demand. A normal local run resolves everything from node_modules on disk, so only the bundle sandbox check can catch a missing traced file, and the first deploy returned 500 for exactly that reason. Route maxDuration is 30 seconds against a measured 3.0 s cold search. 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

2GitHub stars
An MCP server with two tools for agent memory: record writes facts into a per-project ledger as they happen, and recall scores each one against the task you are starting and hands back only what matters.
Jev Practices & Patterns#community#awesomejev#catalog-import
16GitHub stars
Vendor-neutral harness that tests whether Jev reranking improves a small RAG stack, using frozen hybrid BM25 plus BGE-M3 candidates and isolating retrieval, rerank, and generation stages.
Jev Practices & Patterns#community#jevbest#catalog-import
20GitHub stars
Self-hosted Apache-2.0 decision engine with a Jev-style wire format that turns a model you point at it into typed choice, score, and noul answers.
Jev Practices & Patterns#community#awesomejev#catalog-import
7GitHub stars
Word-level language model experiment that uses Jev as its output layer, with explicit tokenizer, sampler, repetition mask, stop rules, and chunk verification.
Jev Practices & Patterns#community#jevbest#catalog-import
7GitHub stars
Claude Code plugin that routes code review, debugging, planning, and search triage through typed Jev judgements with fixed thresholds applied in code.
Jev Practices & Patterns#community#awesomejev#catalog-import
5GitHub stars
Open arena pitting Jev against a chosen opponent on your question, hiding identities until you vote, then revealing latency, cost, and confidence data.
Jev Practices & Patterns#community#awesomejev#catalog-import

From the Jev guides

Original write-ups on what this entry is for.

Most Jev accuracy problems are state problems. What belongs in a state, what is a pre-made judgment to leave out, and why naming the slice you ask about matters more than the wording.
Jev Practices & Patterns#state#design#primitives
Read article
A Noul returns one number and no separate confidence. How to read the value, pin its boundary with criteria, split compound questions, and set a per-action threshold that matches the cost of being wrong.
Jev Practices & Patterns#noul#primitives#confidence
Read article
A Score is a weighted position, not a ruler. Why the number can land between levels, why levels are judged separately, and how to combine several atomic scores in code instead of one crowded rubric.
Jev Practices & Patterns#score#primitives#scoring
Read article
Back to all resources

From the Jev community

Posts from builders shipping with Jev right now.

Follow @typesafeai