Logan Horowitz
← All projects

Hush

One topic, a relevance decision, and the original reporting.

If you are following one subject, a general news feed gives you a lot of sorting to do. A story can contain the right words and still have very little to do with what you meant. And when you do find something useful, you still want to know who reported it and when.

I built Hush to put Jev to work on that relevance question. The point was to use it for a small decision inside a news reader: does this headline belong in the topic I’m following? The rest of the product has to make that decision useful to the person reading.

You save one topic, look through recent reporting, and open the original publisher’s article. Headlines, publishers, and dates stay visible. The deployed preview requires sign-in to save a personal topic and read its feed. The public sign-in page explains how it works.

Google News finds the reporting. Jev then receives the topic, headline, publisher, and date, and returns a relevance label and a confidence score. It does not crawl the full article. It does not write a summary of it either. That distinction matters because the system is making a decision from headline-level information, which can leave out important context.

Hush caches the decision. Once it has been made, a reader can adjust the relevance bar without making another model call. This is why I wanted the decision to be narrow: it can be inspected and reused instead of asking the model to do the whole job again whenever someone changes how selective they want the feed to be.

The confidence score also needs some care. It is the model’s score, not a calibrated probability that a story is relevant. Moving a slider does not turn that into a guarantee. Someone still has to look at the headline and, when it matters, open the reporting and make their own judgment.

Usage is bounded. When a new classification is unavailable, cached decisions and the news-feed fallback remain part of the design. I do not want an ordinary search result to look as though it has passed a relevance check that never happened. An empty feed, an unavailable check, and a lack of useful reporting are different things for a reader to understand.

The pieces connect in the deployed preview, but whether they consistently surface news someone wants to read is still an open question. Broad topics, narrow topics, and ambiguous ones put different demands on a headline-level decision. A reader needs enough context to decide whether the filter is helping, and a straightforward way back to the original reporting.

That is the job I want Hush to do: help someone follow a subject without losing sight of where the reporting comes from. Jev makes a relevance decision. The product has to make that decision understandable and useful.

← All projects