Measure active attention
I count visible seconds and scroll depth because clock time overstates engagement whenever a tab sits idle.
AI-enabled RSS reader
I built Sitrep to make a growing feed easier to navigate, with summaries and reading guidance informed by what I actually read.
Sitrep summarizes articles from subscribed feeds, recommends what to read, skim, or skip, and brings the most relevant coverage together in The Brief, a daily synthesis shaped by my work and interests.
My feed reader kept growing even when I was reading every day, with repeated coverage of the same story sitting beside material I had opened, skimmed, finished, or ignored as if those actions carried the same signal.
I needed the ranking to learn from observable behavior without letting an idle tab or passive scroll impersonate attention.
Production capture, 2026-08-30.
Open full-size imageEach enriched article or feed entry gets a plain-language summary of what happened and why it matters, key points, and caveats about the source. I can understand the substance before deciding whether to open the original, while keeping the article available when I need the full context.
Alongside the summary, Sitrep recommends Read, Skim, or Skip and gives a short reason. Read points to substantive reporting, useful analysis, or material directly relevant to my work. Skim identifies useful awareness where the headline and main points carry most of the value. Skip flags repetitive, promotional, or low-substance coverage. The recommendation helps me allocate attention; I make the reading decision.
The Brief brings ranked recent coverage together into a daily synthesis with source links. It connects developments across defense, aerospace, AI, and technology, identifies possible implications for my work and personal interests, and closes with a Worth Your Time shortlist explaining which originals deserve a closer read. Each update retains a separate revision, so I can return to what the briefing said at the time.
Sitrep also learns from what I actually do. Active, tab-visible reading time and scroll depth inform behavioral labels and reading-speed estimates, while ranking combines recency, feed and topic affinity, length, and seen state. Background enrichment summarizes and tags incoming articles and removes semantically duplicate coverage.
I count visible seconds and scroll depth because clock time overstates engagement whenever a tab sits idle.
Every Read, Skim, or Skip recommendation includes a short rationale, with source caveats alongside the summary. I can judge whether the recommendation fits what I need from the article.
The AI recommendation records what may deserve my attention. Reading signals record what I actually read, skimmed, or ignored. Keeping those separate prevents a recommendation from counting as evidence of engagement.
System output against fabricated inputs; no employer data.
Open full-size image Method: see How the evidence was made.I update the reading-speed estimate only from high-confidence reads, which keeps abandoned and background tabs from corrupting future estimates.
I retain each briefing revision with its source article identifiers and reader-profile metadata. Updating the current view preserves the earlier artifact, making changes inspectable.
I use embedding similarity to catch the same story across feeds even when the headlines and wording differ.
Ranking can reinforce what I already read, so discovery still needs deliberate exploration. The Brief links back to the original articles when I need to check a summary or inference.