Not screen time. Dwell time.

Most people describe their feed one way. Their dwell data says something else. LumoScroll tracks which posts actually held your attention, by topic, tone, and time of day, and turns it into a weekly digest. Classified entirely on your device. Nothing sent anywhere.

No account required · nothing leaves your browser · no lectures, no nudges by default

attention.log

Simulated data, same fields your actual digest stores.

Screen time was always the wrong unit.

Screen time counts minutes the tab was open, including the ones you spent scrolling past a hundred posts without reading a single one. It has never told you what actually got your attention, only that you were physically present.

What screen time measures

Time the tab was open

34 minutes on Twitter. That number includes posts you scrolled past in a fraction of a second, videos playing in a background tab, and time spent typing a reply. It can't tell a doomscroll from a deliberate re-read.

What LumoScroll measures

Posts you actually stopped on

Every post that held your eyes for 2.5 continuous seconds or more gets one classified record: topic, tone, emotion, hour of day. A post you scrolled past in 400ms was never in your attention in the first place, so it's never counted.

Scrolled pastEntered your viewport at all
Dwelled≥ 2.5s continuous, the genuine pause
RecordedDwelled + enough signal to classify

Three different numbers, three different questions. LumoScroll's digest shows all three, plus the attention rate between them, on the "Where your attention went" funnel.

Scrolling Reddit, nothing changed on our end.

No settings to configure before this starts working. Just install it and browse. This is a real session, not a mockup.

Nothing to configure. Just scroll normally.

01

Install and pin it

Add it from the Chrome Web Store, then pin the icon so the badge is visible while you browse. That's the whole setup.

02

Browse Twitter/X, Reddit, LinkedIn, or YouTube

You don't do anything differently. LumoScroll watches for the same 2.5 second dwell threshold on every post that enters your screen.

03

Classification happens as you go

Topic, sentiment, and emotion are worked out in the content script the moment a post qualifies. No network call, nothing queued for later.

04

Your digest lands weekly

Topic breakdown, emotional tone, scroll timing, and a live in-session readout if you turn it on. Check the popup any time for a running total.

27 topic categories, phrase-aware Lemmatized + negation-aware Emoji-aware sentiment 100% local, always

A lot has shipped since the first version.

LumoScroll started as a topic-and-mood tracker. It's grown into a full local behavioral layer on top of your feed, without adding a single server.

🎯

Local NLP classification

27 topic categories plus custom ones you define, with lemmatization and negation detection so "not interested in politics" doesn't score as politics.

🙂

Sentiment and emotion

VADER-based sentiment with an originally curated emotion lexicon, rebalanced across all eight emotions and gated against topic-vocabulary bias.

📍

Live in-session widget

An ambient pill that appears after 3 minutes of real reading, plus one gentle nudge if a session runs long or skews heavily negative. Off in one click.

🎯

Goals and Focus mode

Daily per-platform time caps and a weekly Doomscroll Index ceiling, with live progress bars, built from data already being tracked.

🏆

Milestones

Calmest week, most diverse week, longest streak. A small running record of personal bests that surfaces at most once a week.

🧭

Behavioral insights

Digital Archetype, Topic Diversity Index, Chronotype, and a Doomscroll Index composited from negative tone, late-night concentration, and platform hopping.

🔀

Platform-hop detection

Catches patterns like LinkedIn to Twitter in under four minutes, and how much longer you stayed once you got there.

✏️

Teach it your own words

Correct a misclassified word in one tap, or add a fully custom topic with its own keywords and color. Takes effect on your next page load.

🔒

100% local, verified

Not a privacy-policy footnote. A visible badge in the popup and digest, and a network recording below showing exactly zero outbound requests.

Feeds fake themselves out from under a tracker.

Twitter/X and new Reddit both use virtualized, recycled DOM. Scroll a post far enough out of view and the framework can unmount that node entirely, then mount a brand-new node for the same logical post the moment you scroll back to it, even slightly.

A scan counter that dedupes by DOM element identity reads that remounted node as a new post and counts it twice. That's the real source of counts that looked roughly 30% too high in testing: not a bug in the dwell timer, but the feed quietly replacing elements out from under it.

The fix adds a second, cheap layer: a short text-snippet hash per post, checked against a bounded in-memory set that's never persisted and never sent anywhere. Two genuinely different posts that happen to open with the same 120 characters would now read as one, a real trade-off, but a far better failure mode than counting the same post three times because you scrolled past it three times.

One week, laid out plainly.

Weekly digest Mar 9 – Mar 15
1,140Scrolled past
61Dwelled ≥2.5s
46Recorded
5.3%Attention rate

Finance
28%
Tech
21%
Politics
17%
Sports
12%
Creative
8%

fear
+412
anticipation
+201
trust
+89
joy
+76

linkedin → twitter/x, this month
avg gap: 4 min · stayed 3.2× longer than an average twitter session

This is one week of one person's scroll history. Yours will look different. That's the point.

Zero outbound requests. Verifiable, not just claimed.

Chrome DevTools, Network tab recording, LumoScroll running while someone scrolls Reddit. Every request belongs to Reddit. LumoScroll makes none, because there's no server to call.

Free by default. Pro for the longer view.

Free

The full weekly digest.

Twitter/X, Reddit, LinkedIn + YouTube
30-day rolling history
27 topics, sentiment, emotion, timing
Live widget, Goals, milestones
100% local, no account, no expiry
$0
Add to Chrome — free

Requires Chrome on desktop.

Pro

90 days of pattern history.

Everything in Free, plus:
90-day digest archive (vs 30 days free)
Doomscroll Index and platform mood gap
Week-over-week archetype and topic trends
$24 $15 Launch offer
one-time · yours forever · or $5/month