Published
jevsearch re-ranks keyword hits with Jev and scored 83% Hit@1 on the author's TypeSafe docs set
Kyle McLaren posted jevsearch, an MIT shadcn registry block that streams keyword hits and then re-ranks them with Jev. On 41 labelled queries over TypeSafe's documentation, Hit@1 rose from 41% on the keyword pass to 83% after Jev. Median uncached ranking was 278 ms. About $0.26 per thousand searches on that corpus.
Kyle McLaren posted jevsearch on September 21. He works at Fly.io. The repo is kylemclaren/jevsearch, MIT. A playground at jevsearch.fly.dev searches TypeSafe’s documentation.
The install is a shadcn add against registry JSON in the repo. That copies a command palette, a hook, a lexical index, a server handler, and a sample API route into the project. Those files are the integration. ⌘K opens the palette.
A query hits GET /api/jev-search?q=…. The keyword scorer (weighted fields, prefixes, a light stemmer, one-edit typos) streams {"type":"lexical", hits} first. The top 20 hits then go to TypeSafe in one request: a noul per candidate (“would the visitor be glad to land here?”), a choice over those candidates (“which single page is the best answer?”), and a noul for whether any page answers at all. Hits are re-ordered by 0.75 × relevance + 0.25 × best-answer share. Rows under a 0.15 threshold are dropped. The judged answer is cached in memory. If TypeSafe is slow or down, keyword order stands and the footer says so. Default timeout is 4,000 ms.
bun run bench indexes one corpus into every library and runs the same labelled queries. The corpus is every page of the TypeSafe documentation (109 pages, split at headings into 443 documents). The queries are 41 labelled ones: 12 keyword, 3 with typos, 26 written the way people ask.
On that set, jev-search scored 83% Hit@1, 83% Hit@3, and 0.83 MRR@10, median 278 ms uncached. The keyword pass alone scored 41% / 59% / 0.51, median 8.7 ms, which matches Lunr’s 41% Hit@1. Fuse.js 39%, Orama 39%, MiniSearch 34%, FlexSearch 27%, Pagefind 20%. Intent Hit@3 was 73% after Jev and 42% on keywords. The README says the keyword pass put a correct document in the 20-candidate pool for 83% of queries, and jev-search landed one first for 83%. Jev re-ranks; a page that never reaches the pool cannot win. Pagefind returned nothing for 12 of the 41 queries, including 12 of the 26 written as questions.
Cost on this corpus: 6,169 input tokens per uncached query at $0.042 per million, about $0.26 per thousand searches. Output tokens are free. Repeats are cached.
We did not run the bench.
This site's reading
Editorial notes evaluating claims against primary sources, contextualizing findings alongside related implementations, and defining technical terms.
Verify
The September 21 posts from @kylemclaren are the primary source. The repo is kylemclaren/jevsearch, MIT. Install is a shadcn add against registry JSON in the repo. The keyword pass streams first; Jev then judges the top 20 hits in one request (a noul per candidate, a choice for the best page, and a noul for whether any page answers). Hits are re-ordered by 0.75 times relevance plus 0.25 times best-answer share. Timeout default 4,000 ms; keyword order stands if TypeSafe is slow or down. The published bench indexes TypeSafe documentation (109 pages, split into 443 documents) and runs 41 labelled queries: 12 keyword, 3 with typos, 26 written as questions. Hit@1 / Hit@3 / MRR@10: jev-search 83% / 83% / 0.83, median 278 ms uncached; keyword pass only 41% / 59% / 0.51, median 8.7 ms. Lunr tied the keyword pass at 41% Hit@1. Fuse.js 39%, Orama 39%, MiniSearch 34%, FlexSearch 27%, Pagefind 20%. Intent Hit@3 73% versus 42% for the keyword pass. Cost on this corpus: 6,169 input tokens per uncached query at $0.042 per million, about $0.26 per thousand searches. Output is free. We did not run the bench. TypeSafe's Master Customer Agreement section 2.3(f) forbids publishing benchmarks of the Services; the figures are reported as published.
Compare
News Desk Dealer scored headlines for 15 desks. DocJev classified PDFs. jevsearch ranks pages a visitor already almost found: the keyword pool of 20 is the retrieval ceiling, and Jev's Hit@1 matches that 83% recall. Hono and semgate branch an HTTP request; this component reorders a search list and fails open to lexical order. The playground searches TypeSafe's own docs.
Terms
- jevsearch
- Kyle McLaren's MIT shadcn registry block for site search. A lexical pass answers first; Jev re-ranks the top candidates in one request.
- Hit@1
- Share of labelled queries whose correct document is ranked first. On McLaren's 41-query TypeSafe-docs set, jevsearch is 83% and the keyword pass alone is 41%.