Skip to content

jeveryword

Zero-dependency library that numbers a text's words so Jev can pick them, returning exact substrings for extraction and PII.

DemoprototypeMIT

Overview

jeveryword makes text extraction possible with a model that does not generate text. Jev answers multiple-choice questions and cannot return a name, email address or quote on its own, so jeveryword numbers the words of your text, offers those numbers as the answer options, and converts the numbers Jev picks back into the original substring with its character offsets. Every result is a true substring of the input, and each has a probability between 0 and 1 for deciding what to confirm with a user.

It supports field extraction, labelling words (for example PII detection) and exact quotes, plus custom questions. The package has no dependencies, is about 500 lines, and runs on Node 20+, Cloudflare Workers, Deno and Bun. The README estimates ten fields from a short message in one request, a few hundred milliseconds and about $0.0004 at list price. A live demo, an agent skill for Claude Code, Cursor and Codex, and a hosted API option are available. The author labels it experimental, checked only on a small set of synthetic messages and not benchmarked. MIT licensed with CI.

What the decision model decides

TypeQuestionAnswers
ChoiceWhich numbered word (or span) is the value of this field, e.g. the sender's email?—
ChoiceWhich label applies to this word (e.g. PII category or none)?—

How it works

  1. Number the words of the input
  2. Ask Jev to pick word numbers for each field or label
  3. Convert picks back to exact substrings and offsets
  4. Use probabilities to decide what to confirm

Strengths

  • Results are guaranteed substrings of the input
  • No dependencies; runs on several runtimes
  • About $0.0004 for ten fields per the README

Caveats

  • Experimental and not benchmarked
  • Long texts mean many options

Getting started

npm install jeveryword, or try the live demo at jeveryword.vercel.app.

At a glance

Type
Demo
Status
prototype
Language
TypeScript
Runtime
Node / Workers / Deno / Bun
Has code
yes
Has tests
yes
License
MIT

Use cases and integrations

How curated lists describe it

  • Jev answers multiple-choice questions and does not generate text, so on its own it cannot return a name, an email address or a quote. jeveryword numbers the words of your text, offers those numbers as the answer options, and converts the numbers Jev picks back into the original substring with its character offsets.

    logicrw/awesome-jev-projects
  • Text extraction with Jev: field extraction, PII detection and exact quotes, built on TypeSafe's Jev.

    hellogumbo/awesome-jev

Frequently asked questions

How can Jev extract text if it cannot generate?

Words are numbered and offered as options; the picked numbers are mapped back to the original substring.

Can it hallucinate values?

No, every result is an exact substring of your input.

Is it benchmarked?

No, the author has only checked it on a small set of synthetic messages.

Related projects

  • Zero-shot named entity recognition that turns Jev's Choice answers into entity spans via nominate, verify and boundary questions.

    LibrarybetaPython
  • Resume screening where an LLM writes the questions once per job and Jev answers them for every resume, quoting the evidence line.

    ProjectproductionTypeScript
  • Fills Japanese government PDF forms by asking Jev which profile item each unlabeled field is; personal values stay in the browser.

    ServicebetaJavaScript
  • Streaming PII redaction library for TypeScript with 155 regex detectors, optional NER, and opt-in Jev confirmation before redacting names.

    ProjectbetaTypeScript
  • CLI that sends text to Jev for 13 PII-category yes/no checks and a sensitivity score, then locates spans with regex and segmentation.

    CLIbetaTypeScript
  • Python re-style library that finds, replaces, splits and extracts text by meaning, with Jev judging each candidate span.

    DemobetaPython