Decision type · inbox triage

Inbox and feed triage with Jev

Triage is the natural home for a decision model: the categories are few, the volume is large, and a wrong call costs a click to undo.

859 words5 sections5 sourcesupdated 2026-09-20

01One message, one call

Triage is the most natural fit for a decision model because the shape of the problem already matches the shape of the interface. The categories are few and known, the input is one item, the answer is one label, and there is no text to generate anywhere in the path. Replacing a per-message chat completion with a per-message decision removes the only part of the pipeline that was slow.

It also changes what you can afford to do. When each decision costs a small fraction of a cent, you stop pre-filtering with heuristics to save money. The heuristics were always the least accurate part of the system — they exist because scanning everything was expensive — and removing them means the model sees the items the rules used to hide.

inbox triage · one-message-one-call
questions = {
  folder:      { type: 'choice', criteria: { inbox, receipts, newsletters, other } },
  needs_reply: { type: 'choice', criteria: { yes, no } },
  urgency:     { type: 'score' },   // 0..1
}
// one call returns all three; the score is what your threshold reads

02Why the cost ceiling matters more than the latency

On a browser or a game the constraint is time: a decision that arrives late is a decision you cannot use. Triage is the opposite. A few hundred milliseconds is imperceptible when the alternative is a person opening a mailbox, and the thing that actually decides whether the design works is the monthly bill.

The reported numbers here are the ones to pay attention to, because this is the one category where a continuous personal tool is plausible. One build put a feed filter at fifty cents to a dollar a month for eight hours a day of continuous decisions. Another reported a few cents for three thousand items. Those are not the same task and not the same input length, but they are the same order of magnitude, and that order of magnitude is what makes “run it on everything” a real option rather than an aspiration.

Batching is what turns that range into a comfortable one. Decisions on independent items have no reason to be sequential, and sending them concurrently is usually the difference between a tool that keeps up with your inbox and one that falls behind during the hours you are not watching. The only constraint worth respecting is the provider’s concurrency limit, which is a published number rather than something you have to discover.

03Keep the effects reversible

The failure that hurts in triage is the irreversible action. Classifying a message into the wrong folder costs one click. Sending an automatic reply, deleting a thread, or unsubscribing a contact on the strength of a model call can cost something you cannot undo, and the confidence score does not make that safer — it is a probability about the label, not about the consequences.

The builds that handle this well draw the line in the same place: the model decides what something is, and the code decides what happens as a result. Applying a label, moving an item, sorting a view — those are reversible and the model can drive them. Anything that leaves your account or destroys something stays behind a human action, no matter how high the confidence.

04Failure modes, in the order they bite

Threshold drift is the quiet one. A cutoff tuned on last month’s mail is answering a slightly different question this month as senders change and your own habits shift. Nothing breaks; the tail just grows, and because the tail is where the money goes, the symptom is a bill rather than an error. Re-measuring the confidence distribution periodically is the only way to notice.

Long items break the cost model. An email thread with a dozen quoted replies is not the same input as a single message, and the per-item cost tracks length closely. Trimming quoted history before the call is worth more here than almost any other optimisation, and it also improves the answer, because the newest message is usually the one that carries the decision.

Personal rules are not global rules. Two people with the same mailbox shape will disagree about what belongs in “later”, and a model given a label set is only as good as the label set it was handed. The descriptions in the criteria map are doing the work of a policy document, and they deserve to be written as carefully as one.

And the last one is worth stating plainly: a classifier that is right ninety-five percent of the time on a thousand items a day is wrong fifty times a day. That is fine for sorting and unacceptable for anything that notifies someone. Decide which of the two you are building before you pick the threshold.

05How this connects to the rest of the pattern

Triage is document classification with a different unit: a message instead of a page, a stream instead of a batch. The two pages share the same two-stage design and the same tail problem. If what you are routing is work rather than information, the agent-loop page is closer.

Case evidence

5 of 336 indexed
  • @nikunj

    Multi-criteria scoring across a product catalogue, used as a design reference for large-batch triage.

    Author-reported

    3,000 items in 28s, $0.11

    Not verified by us

    View on X
  • @hari65535

    Two prompts control a scrolling content feed, decisions on every item.

    Author-reported

    70–500ms per decision, $0.50–$1 per month at 8h/day

    Not verified by us

    View on X
  • @nickfthedev

    Mail client wired to Jev for sorting plus custom filters.

    Author-reported

    local mail client, custom rules

    Not verified by us

    View on X
  • @FabioAngela79

    Scores posts already on screen and applies rules locally, so nothing leaves the device.

    Author-reported

    reversible, BYOK, no telemetry

    Not verified by us

    View on X
  • @ItsDanielHung

    Realtime filter for a social feed targeting engagement bait and promo posts.

    Author-reported

    open source, BYOK

    Not verified by us

    View on X

Metrics are as posted by the author, captured 2026-09-20. Thumbnails are linked from X's own CDN and are not stored or copied by this site. We index and link; we do not verify, and we do not republish the post text or its media.

Related

Browse all 336 indexed cases →