classifier.dev
classifier.
Overview
classifier.dev is a zero-shot text classification API on a single Cloudflare Worker. Plain text and label lists go in; the service returns a label and calibrated confidence. The fast tier runs TypeSafe Jev from src/jev.ts; uncertain rows can escalate to a smart tier when confidence falls below 0.7.
Problem: Teams still route moderation, support, and analytics labels through chat models that return prose instead of thresholdable scores.
Built for: Engineers who want HTTP-first zero-shot labels without hosting their own classifier stack.
First indexed on Jev Directory: 2026-09-19
Creator and team
- Name
- Michael Chomsky
- Organization
- classifier.dev
- Handle
- @michael_chomsky
How Jev is used
- Role in the product flow
- Classification core (fast tier) plus confidence-gated escalation to smart tier
- Primitives
- ChoiceScore
- State in
- Batched {id, text} inputs plus per-item questions. Multi-label uses one yes/no Score-style question per label on the same state (documented in src/jev.ts).
- Decision out
- Calibrated probability per label or option; callers threshold confidence. Smart tier re-asks only rows below ESCALATE_BELOW (0.7 in src/index.ts).
- Pack many items into one POST /v1/systemone request on the fast tier
- Read per-label probabilities from Jev
- Re-run only sub-0.7 confidence rows on the smart tier chain
The Worker routes classification through src/jev.ts, which calls TypeSafe POST /v1/systemone (model jev-latest) or Vercel AI Gateway evaluation-model when a gateway key is set. Jev is described in-repo as a decision model that returns calibrated probabilities, not prompted classification prose. Multi-label is implemented as parallel per-label questions on shared state. The smart tier is a separate model chain that runs only on answers the fast tier marks uncertain via the 0.7 gate, which keeps average cost down while preserving accuracy on edge cases documented in the repository eval notes.
Sourced performance claims
- Smart tier escalates when fast-tier confidence is below 0.7 (ESCALATE_BELOW).Source: github.com/mrmps/classifier-dev src/index.ts
- Multi-label F1 0.879 vs 0.799 for the LLM cascade it replaces, ~200ms on a seven-case eval set.Source: github.com/mrmps/classifier-dev src/jev.ts header comments
Features and stack
Features
- curl-friendly HTTP API with up to 1,000 texts per request (README)
- Fast Jev tier plus smart re-ask tier below 0.7 confidence
- No API key required for light use (catalog listing and site docs)
- CLI npm package classifier-dev mirrors the HTTP API
- feedback.now agent feedback endpoints on the same host
Stack
- Cloudflare Worker
- TypeSafe System One (jev-latest)
- Optional Vercel AI Gateway evaluation-model
- esbuild, no database
Pricing: Public rate-limit headers document fast vs smart tiers (see repository API notes). Confirm live limits on classifier.dev before production traffic.
Links
FAQ
- Which Jev primitives does classifier.dev use?
- Source comments in src/jev.ts describe single-label Choice-style picks and multi-label yes/no questions read from probabilities. The implementation packs many items per System One request.
- When does the smart tier run?
- Only when fast-tier confidence is below 0.7, per ESCALATE_BELOW in src/index.ts. Read eval/fallback_bench.py in the repo before quoting production accuracy.
Related learn guides
Original Jev guidance that pairs with this product pattern.
- Jev vs LLM classification
When to gate with System One probabilities instead of asking a chat model to label things.
- Jev use cases
The patterns builders actually search for: moderation, routing, triage, RAG verify, and agent gates.
Related products
Hand-picked neighbors with rich profiles or overlapping tags.