A honest Chrome extension that motivates you to stay focused by blocking distracting websites with reality-check motivational messages and a cyberpunk 3D look.
- Download this zip file of repository.
- Extract all files from zip.
- Open Chrome or Chromium-based browsers and navigate to
chrome://extensions/ - Enable "Developer mode" in the top right
- Click "Load unpacked" and select the extension folder
- The extension icon should appear in your toolbar
-
Add Sites to Block:
- Click the extension icon
- Enter a domain (e.g., "youtube.com")
- Click "Block Site"
-
Remove Sites:
- Click "Remove" next to a blocked site
- Choose "Success – I'm Strong" to keep it blocked
- Choose "Failure – Remove Anyway" to unblock
-
When Sites Are Blocked:
- You'll see a motivational quote
- The robot will speak the message
- Click the quote to get a new one
- Use the mute button to toggle audio
- Quotes auto-update every 15 seconds
- Site Blocking: Block any website by entering its domain
- Motivational Quotes: Harsh, reality-check quotes to keep you focused
- Text-to-Speech: Robotic voice reads motivational messages
- Animated UI: Cyberpunk-style, 3D header, and effects
- Interactive Robot: Animated robot character with glowing eyes
- Matrix Effects: Green matrix rain effects on buttons
- Audio Feedback: Sound effects and ambient audio
- 3D Header: Popup header with a bold, 3D look
manifest.json- Extension configuration and permissionsbackground.js- Service worker for site blocking logicpopup.js- Popup interface functionalitymodal.js- Motivation modal and speech synthesisblocked.js- Blocked site page with quotes and audio
popup.html- Extension popup interfacemodal.html- Motivation modal pageblocked.html- Blocked site page with quotes
popup.css- Popup interface stylingmodal.css- Modal and matrix effects stylingblocked.css- Blocked page with cyber grid backgroundwarning-popup.css- Warning popup with animated robot
icons/- Extension icons (16px, 48px, 128px)
- Purpose: Service worker for site blocking
- Key Functions:
onBeforeNavigatelistener for intercepting navigation- Site blocking logic with hostname matching
- Storage initialization on extension install
- Purpose: Popup interface management
- Key Functions:
loadBlockedSites()- Load and display blocked sitesaddBlockedSite()- Add new sites to block listremoveBlockedSite()- Remove sites from block listshowMotivationModal()- Display motivation modalisValidDomain()- Domain validation
- Purpose: Motivation modal functionality
- Key Functions:
showModal()/hideModal()- Modal visibility controlspeakQuote()- Text-to-speech with robotic voice- Event listeners for success/failure buttons
- Purpose: Blocked page functionality
- Key Functions:
initSpeech()- Initialize text-to-speechspeakText()- Speak quotes with cachingupdateQuote()- Rotate motivational quotestoggleMute()- Audio mute control- Quote rotation every 30 seconds
- CSS variables for consistent theming
- Popup layout and styling
- Animated background stripe
- Custom scrollbar styling
- Modal overlay and content styling
- Matrix rain button effects
- Quote text animations
- Responsive design for mobile
- Cyber grid background animation
- Robot styling (moved to inline styles)
- Quote container effects
- Neon mute button styling
- Warning popup modal styling
- Animated robot character
- Button hover effects
- Text glow animations
Edit the quotes array in blocked.js to add your own motivational messages.
Modify CSS variables in the respective CSS files:
:root {
--primary-color: #ff3e3e;
--secondary-color: #2a2a72;
--accent-color: #00ff88;
--background: #1a1a2e;
--text-color: #ffffff;
}Adjust animation durations and effects in the CSS files to change the visual experience.
The popup header uses a 3D text-shadow and perspective effect for a bold look. Adjust in popup.css under h1.
- Chrome 88+ (Manifest V3)
- Edge 88+ (Chromium-based)
- Other Chromium-based browsers
This project is open source and available under the MIT License.
Siddharth Prabhakar - Creator of GO FOCUS Extension