StayFocused

💡 Inspiration

Most website blockers are "all-or-nothing." They either block a whole site or do nothing at all. We built StayFocused to give users granular control—the ability to block the distracting parts of a site (like Reels or Comments) while keeping the productive parts accessible.

🛠️ What it Does

StayFocused is a browser extension that manages digital distractions through four main features:

  • Usage Dashboard: Visualizes browsing habits with category breakdowns (Social, AI, News) and 30-day trend charts.
  • Time Budgets: Set daily limits for specific domains. Once the budget runs out, the site is locked until the next day.
  • Lockdown Mode: Forces a focus session for a set duration. Ending it early requires completing a manual typing challenge to prevent impulsive browsing.
  • In-App Filtering: Specifically targets "scroll-traps." It hides YouTube Recommendations/Shorts, Instagram Reels, and TikTok feeds without breaking the rest of the site.

🏗️ How We Built It

  • Architecture: Built on Manifest V3 for better performance and security.
  • Stack: JavaScript, HTML5, and CSS3.
  • Privacy: 100% local data processing. All usage metrics and settings are stored on-device via chrome.storage.local.
  • Injection Engine: Custom scripts that hide specific DOM elements in real-time without causing layout shifts.

🧠 Technical Challenges

The hardest part was multi-tab synchronization. We had to build a background state machine to ensure that "Time Budgets" stay accurate across 20+ open tabs without double-counting time or lagging the browser. We solved this by using a central timer in the background service worker that heartbeats to active tabs.

🏆 Accomplishments

  • Developed a high-performance analytics engine that processes thousands of logs with near-zero CPU overhead.
  • Created a "friction" system (the typing challenge) that successfully interrupts the habit loop of disabling productivity tools.

⏩ What's Next

  • Cross-Device Sync: Sharing time limits between desktop and mobile.
  • Contextual Suggestions: Detecting "looping" behavior (switching between the same three social sites) and suggesting a 5-minute break.

Built With

Share this project:

Updates