Inspiration
We were inspired by a pain we all feel: opening tabs with good intentions, then getting stuck in a loop of context-switching and losing focus. Instead of adding another to-do app, we wanted to solve the behavior at the browser level by detecting “tab thrashing” in real time and nudging users back into deep work.
What it does
Harbour is a browser extension + Electron desktop app that helps users regain focus by:
- Tracking tab-switch behaviour in the background
- Detecting thrashing patterns (frequent switching across multiple tabs in a short window)
- Triggering AI-powered focus suggestions
- Letting users activate Focus Mode to review and close distracting tabs quickly
How we built it
Browser plugin (WXT) captures tab switch events and provides the Focus Mode UI. Electron app runs a local event server on 127.0.0.1:3456 to receive those events. SQLite stores tab activity history for analysis. A sliding-window thrash detector flags high-frequency context switching. A focus advisor uses Gemini via OpenRouter to suggest which tabs are likely distractions and should be closed.
Challenges we ran into
Designing a thrash detection rule that is sensitive enough to help, but not so noisy it becomes annoying. Coordinating real-time communication reliably between extension and desktop app. Making AI recommendations useful and actionable rather than generic. Balancing privacy concerns while still collecting enough context for meaningful suggestions. Handling multi-process debugging (browser, extension runtime, Electron main/renderer, and local API).
Accomplishments that we're proud of
Built a working end-to-end system that detects distraction patterns live. Connected browser activity, local persistence, and AI guidance into one smooth flow. Implemented a practical Focus Mode that translates insights into immediate action. Shipped a cross-stack prototype quickly across extension + desktop + AI integration. Created a foundation that can evolve into a true personal attention assistant.
What we learned
Attention management is a behavior design problem, not just a productivity feature. Real-time detection needs clear heuristics and good UX to earn user trust. AI is most helpful when scoped to specific decisions (e.g., “close these tabs?”), not broad advice. Tight feedback loops between telemetry and interface matter more than feature count. Local-first architecture can support both responsiveness and user control.
What's next for Habour
Personalize thrash thresholds and suggestions per user/work style. Add richer context signals (time-of-day, task category, calendar, site intent). Introduce gentle interventions before thrashing escalates (micro-prompts, focus timers). Build weekly focus analytics and habit insights. Add cross-browser support and a polished onboarding flow. Explore team mode for shared focus norms in collaborative environments.
Log in or sign up for Devpost to join the conversation.