GET /health → 200api-gateway · routine heartbeatOpen source · OpenTelemetry · TypeScript
Keep your logs.
Spend on the signal.
Meet Jev: a tiny robot with headphones and a strong opinion about noise. Your LLM doesn’t need every health check. Let Jev find the logs worth thinking about.
v0.2.0 · MIT licensed · npm install jevlogs

00 / Jev’s desk
Sort a tiny pile.
Health checks belong in background. Failures belong in signal. Jev keeps every record — it just decides what deserves an expensive second look. Same four sample logs as npx jevlogs.

Headphones on. Show me the pile.
Incoming logs
Cache hit: product:482catalog · expected operationPayment capture failedcheckout · protected by severityConnection pool near capacitydatabase · investigate degradation01 / A smaller first decision
Think less about noise.
Learn more from failures.
Put a fast decision model before your reasoning model. Keep your observability pipeline, and choose what deserves a deeper look.
Give every log a value.
Jev grades diagnostic value on a 0–100 rubric, assigns urgency, and estimates whether further investigation is useful.
Keep the uncertain ones.
Only confidently low-value events can skip analysis. Errors and protected records always pass through. A timeout preserves the record.
Make fewer expensive calls.
Annotate first. Then enable routing on a separate LLM branch while your existing telemetry archive keeps everything.
Built for decisions, not paragraphs
Why Jev?
The math is different.

TypeSafe’s published launch price
Typed choices, rubric scores, and probabilities in one request. No generated explanation needed for a routing decision.
Gateway lists $0.04/M; billing may differ. Jev is early access. Provider speed benchmarks are not Jev Logs benchmarks. Typed outputs can still make incorrect decisions.Read TypeSafe’s announcement ↗
02 / Less noise. A smaller bill.
What could you save?
A transparent estimate, not a benchmark. Adjust the fraction of logs still sent to your LLM, including errors, uncertain decisions, and failures.
Estimated monthly savings
$1,05187.6% less analysis spendIncludes Jev input and question overhead, plus selected LLM input and output. Excludes storage, ingestion, hosting, retries, discounts, and prompt caching. Assumes equal average log sizes; savings depend on your workload.
03 / Small integration. Real control.
Your pipeline.
One new layer.
Install with npm install jevlogs. Try npx jevlogs for the offline demo, or add jevlogs.config.json and run npx jevlogs --live to start a local OpenTelemetry receiver. Send HTTP/JSON logs or wrap your existing exporter.
Read the quick start ↗import { JevLogExporter } from 'jevlogs';
import { BatchLogRecordProcessor } from
'@opentelemetry/sdk-logs';
const processor = new BatchLogRecordProcessor({
exporter: new JevLogExporter({
exporter: yourExporter
})
});
// Every log kept. Value + priority attached.Node.js 22+ · AI SDK 7.0.105 · OTel SDK Logs 0.222.0

Open source, from day one
Save the reasoning
for the interesting part.
Explore the source ↗Independent project. Not affiliated with TypeSafe, Vercel, or OpenTelemetry.