1. Executive Summary
ATOM is a Chrome Extension (Manifest V3) that detects prolonged, high-momentum browsing sessions and responds with the least intrusive intervention first: a subtle presence signal, a lightweight “micro-closure” prompt, and only then a stronger “hard interrupt” mode. The system is implemented as a deterministic pipeline running locally in the extension: content scripts measure user interaction signals, the background service worker enriches signals with recent intervention/reaction history, then a multi-stage decision stack selects an intervention category and renders UI in-page. ATOM also logs user reactions (e.g., COMPLETED / SNOOZED / IGNORED) to model “resistance” and unlock escalation when gentle prompts are repeatedly ignored. An optional online AI path exists for journaling analysis via Gemini; this introduces privacy considerations that must be documented precisely. Overall, ATOM’s architecture favors local processing, explicit cooldowns, and state cleanup to remain MV3-reliable while enabling personalization through reaction history.
2. Problem & Insight
The Problem
Modern feeds optimize for continuous engagement; users often notice “doomscrolling” only after minutes have passed. Any intervention that is too aggressive early will be dismissed; too gentle too late is ineffective.
Target Users
- Users who want gentle accountability while browsing social/content sites.
- Users who dislike heavy blockers but still want a backstop.
- Users who respond better to “companion presence” than punitive restriction.
Why Now (Code-grounded)
Manifest V3 makes reliability/state management non-trivial; ATOM explicitly designs around MV3 constraints (service worker wake/sleep, storage restore) and includes cooldown + fail-safe silence behavior.
3. Solution Overview
ATOM implements a least-intrusive-first ladder:
- Decide whether to intervene at all (Guard).
- If intervene: choose intent/intensity/risk tolerance (Brain).
- Select an intervention category with exclusion rules (Curator).
- Render UI and log reactions for learning (Actor).
4. Product UX & Interventions
Categories
- micro_closure: 2-button pill UI (Finish / Snooze)
- hard_interrupt: Strong modes (BREATH, TAP, STILLNESS)
- presence_signal: Orb layer based on silence rules
- gentle_reflection: Strategy intent affecting copy
Micro-closure UX
Floating pill with 'Finish' and 'Snooze' actions.
• Finish → LOG: COMPLETED
• Snooze → LOG: SNOOZED
• Scroll > 300px → LOG: IGNORED
5. Architecture Overview
High-level modules and decision pipeline.
content.js (Signals + UI)
--> background.js (Service Worker Pipeline)
--> core_logic.js (Extractor + Decision)
--> strategy_layer.js
--> selection_logic.js
--> intervention_manager.js
--> content.js (Render UI)
--> LOG_REACTION --> background.js --> Storage6. Decision Logic & Intelligence
6.1 StrategyLayer
Escalation stats are computed in background. If attention_risk + highResistance + highMomentum + cooldown OK → Strategy elevates to 'aggressive' risk tolerance and 'high' intensity.
6.2 SelectionLogic
Exclusion rules prune candidates. Example: High fatigue blocks aggressive categories. 'Anti-meh' prevents repeating the same recent category.
7. Data & Privacy by Design
Key Data Handling
- Local Storage: Reactions, journal logs, whitelist stored locally in browser.
- Online AI (Optional): Journaling notes are sent to Google Gemini only if configured. Privacy policy must enumerate transmitted fields.
- Permissions: Storage (persistence), Tabs (reload whitelist), Host Permissions (Gemini analysis).
10. Roadmap
0–3 Months
Stability + Correctness. Automated tests, strict privacy policy.
3–6 Months
instrumentation + Onboarding. Explanation of sensitivity modes.
6–12 Months
Privacy-first personalization. Local-only features.