A Chrome extension that helps you manage your time on distracting websites by timing your sessions and redirecting you to a focus plan page when time is up.
- โฐ Timed Sessions + Focus Redirect: Set custom time limits (1-120 minutes) for specific websites. When time is up, get redirected to a focus plan page.
- ๐ฏ Site-Specific Timers: Different time limits for different websites
- ๐ซ Cooldown Period: Block sites for configurable time (5-480 minutes) after timer expires
- ๐ Productivity Prompts: Get motivated with goal-setting when sites are blocked
- ๐ Real-time Monitoring: See active timers and remaining time in the popup
- ๐ Easy Configuration: Add, edit, or remove sites through a simple interface
- ๐ฑ Badge Counter: Shows number of active timers on the extension icon
- ๐พ Sync Storage: Your configurations sync across devices
The extension comes pre-configured with these common distracting websites:
- YouTube Shorts: 1 minutes (specifically for /shorts URLs)
- YouTube: 5 minutes (regular YouTube content)
- Facebook: 2 minutes
- Twitter: 3 minutes
- Instagram: 2 minutes
- TikTok: 2 minutes
- Reddit: 10 minutes
-
Prepare Icons (Important):
- Create PNG icons: 16x16, 32x32, 48x48, and 128x128 pixels
- Save them in the
icons/folder asicon16.png,icon32.png,icon48.png,icon128.png - See
icons/README.mdfor detailed instructions
-
Load Extension:
- Open Chrome and go to
chrome://extensions/ - Enable "Developer mode" (toggle in top right)
- Click "Load unpacked"
- Select the folder containing this extension
- The extension should now appear in your extensions list
- Open Chrome and go to
-
Verify Installation:
- Look for the extension icon in your Chrome toolbar
- Click it to open the configuration popup
- You should see the default sites listed
This extension is not yet published to the Chrome Web Store
- Click the extension icon in your toolbar
- Enter a website URL (e.g., "youtube.com" or "youtube.com/shorts")
- Set the time limit in minutes (1-120)
- Click "Add Site"
Pro Tip: You can specify URL paths for more granular control:
youtube.com/shorts- Only YouTube Shorts (2 min default)youtube.com- All other YouTube content (5 min default)facebook.com/watch- Facebook Watch videostwitter.com/explore- Twitter Explore page
- Edit Timer: Change the minutes value for any site in the list
- Remove Site: Click the "Remove" button next to any site
- View Active Timers: See current timers and remaining time at the top of the popup
- When you visit a configured website, a timer starts automatically
- The extension badge shows the number of active timers
- If you're still on the site when the timer expires, you'll be redirected to the focus plan page
- The site enters a cooldown period (default: 1 hour)
- During cooldown, attempts to visit the site redirect to a productivity page
- You can set goals and plans during the cooldown period
- Switching tabs or navigating away pauses the timer for that site
chrome-extension/
โโโ manifest.json # Extension configuration
โโโ background.js # Service worker (timer management & blocking)
โโโ popup.html # Configuration interface
โโโ popup.js # Popup functionality
โโโ popup.css # Popup styling
โโโ blocked.html # Cooldown/blocked page
โโโ blocked.js # Blocked page functionality
โโโ options.html # Extended options page
โโโ icons/ # Extension icons
โ โโโ icon16.png
โ โโโ icon32.png
โ โโโ icon48.png
โ โโโ icon128.png
โโโ svg/ # SVG source icon
โ โโโ icon.svg
โโโ README.md # This file
tabs: Monitor and update tabs (redirect to plan page)storage: Save site configurationsactiveTab: Access current tab informationalarms: Set timers for automatic tab closure<all_urls>: Monitor navigation to any website
- Sync Storage: Site configurations (syncs across devices)
- Local Storage: Active timer data (session-specific)
- Check that the extension is enabled in
chrome://extensions/ - Verify all icon files are present in the
icons/folder - Look for errors in the extension's background page console
- Make sure the website URL matches your configuration
- The extension matches domains and subdomains (youtube.com matches www.youtube.com)
- Try refreshing the page after adding a new site
- Pinned tabs cannot be closed by extensions for security reasons
- Check if you have multiple tabs open for the same site
- The timer only closes tabs if you're still on the monitored site
- All data is stored locally in Chrome's storage
- No data is sent to external servers
- The extension only monitors websites you explicitly configure
- Source code is open for inspection
- Start Small: Begin with 2-5 minute limits and adjust based on your needs
- Be Specific: Add the exact domains you want to monitor
- Monitor Progress: Check the badge counter to see active timers
- Regular Review: Periodically review and adjust your site list
- Edit the source files
- Go to
chrome://extensions/ - Click the refresh button on your extension
- Test your changes
- Background script: Right-click extension โ "Inspect views: background page"
- Popup: Right-click extension popup โ "Inspect"
- Check browser console for errors
- Initial release
- Basic timer functionality
- Popup configuration interface
- Default site presets
- Badge counter
- Chrome sync storage
Feel free to submit issues, feature requests, or pull requests to improve this extension.
This project is open source. Feel free to use, modify, and distribute as needed.
Happy browsing! ๐
Remember: The goal isn't to never visit these sites, but to be more mindful of the time you spend on them.