Open 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

Jev, a relaxed ivory robot in cobalt headphones, sorting log slips into a gray background box and a blue signal box.
Every log is kept. Background stays cheap. Signal gets the thinking.
Fits your existing stackOpenTelemetry+Jev by TypeSafe+Vercel AI SDKYour exporters. Your infrastructure.

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.

Close-up of Jev smiling while holding a blue signal card at a messy desk of log papers.

Headphones on. Show me the pile.

Incoming logs

INFO
GET /health → 200api-gateway · routine heartbeat
DEBUG
Cache hit: product:482catalog · expected operation
ERROR
Payment capture failedcheckout · protected by severity
WARN
Connection pool near capacitydatabase · investigate degradation
backgroundkeep · skip LLM0
signalkeep · send to analysis0

4 logs in the pile. Drag them, tap a bin, or let Jev sort.

01 / 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.

01

Give every log a value.

Jev grades diagnostic value on a 0–100 rubric, assigns urgency, and estimates whether further investigation is useful.

02

Keep the uncertain ones.

Only confidently low-value events can skip analysis. Errors and protected records always pass through. A timeout preserves the record.

03

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.

Jev holding up a blue signal card under the words Introducing jev logs.
$0.042per million input tokens
TypeSafe’s published launch price

Typed choices, rubric scores, and probabilities in one request. No generated explanation needed for a routing decision.

Parallel questionsShared log contextFree outputAt TypeSafe launch pricingExplicit uncertaintyKeep ambiguous events

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.

Your workload
Model prices

Estimated monthly savings

$1,05187.6% less analysis spend
Analyze everything$1,200.00
Jev + selected LLM calls$149.40

Includes 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
telemetry.ts
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

Jev Logs banner: Keep your logs. Spend on the signal. Jev sorts log papers into background and signal.

Open source, from day one

Save the reasoning
for the interesting part.

Explore the source

Independent project. Not affiliated with TypeSafe, Vercel, or OpenTelemetry.