A playful on-page nag bar that tracks how long you've been on social media sites and nudges you with cheeky reminders to be more productive.
What you get
- Time on current site Today / This Week / This Month / This Year / All Time
- A persistent bar at the top of social pages
- Funny nag lines that rotate while you browse
- Snooze 15m and Pause Today buttons
- Configurable domains, tick interval, and snooze time via Options
NagMinder showing time spent on Reddit with a playful nudge message
Expandable view showing week, month, year, and all-time usage statistics
- Download the ZIP from your ChatGPT session and unzip it (or clone this repo).
- Open Chrome β
chrome://extensions/ - Toggle Developer mode (top right).
- Click Load unpacked β select the
NagMinder/folder. - Visit a tracked site (e.g.,
reddit.com,x.com,instagram.com) β the Nag bar shows at the top.
Data: all settings and usage time sync via
chrome.storage.sync. Data persists across browser sessions and syncs across your Chrome devices if sync is enabled.
- A background service worker ticks every
tickSeconds(default 5s). - If your active tab is a tracked domain and youβre not idle (using the
chrome.idleAPI, 60s threshold), the extension increments counters for:- day (resets at midnight local time)
- week (ISO week number, resets on week change)
- month (resets when month changes)
- The content script injects a minimal bar at the top and refreshes stats every ~5s.
- Snooze sets a timestamp (no bar until the snooze ends). Pause Today hides the bar for the rest of the day.
Perβsite counters: When youβre on reddit.com, you see only your reddit.com time for today/week/month.
Open chrome://extensions, find NagMinder, click Details β Extension options.
You can change:
- β Enable/disable
- π Domain list (one per line; subdomains are matched automatically)
- β±οΈ Tick interval (seconds; lower = more precise)
- π΄ Default snooze minutes
You can also Reset Counters from the options page (clears local totals and date markers).
NagMinder/
βββ manifest.json # MV3 manifest
βββ background.js # tracking, storage, messages, date resets
βββ content.js # in-page bar, render, snooze/pause
βββ messages.js # default funny lines
βββ styles.css # bar styles
βββ options.html # options UI
βββ options.js # options logic
βββ icons/ # simple generated icons
- Messages: edit
messages.jsto add/remove lines. - Default domains: edit
DEFAULT_SETTINGS.domainsinbackground.js(or use Options). - Bar design: tweak
styles.css. Itβs intentionally small & readable. - Granularity: change
tickSecondsin Options to1for near realβtime (slightly more CPU).
- No analytics. No network requests.
- All usage data stays in
chrome.storage.syncand can sync across your Chrome devices (if Chrome sync is enabled).
- Bar doesnβt appear: Make sure the siteβs root domain is in Options. For example, add
x.com(Twitter) instead oftwitter.comif you use the new domain. - Still no bar? Try disabling other extensions that alter page top bars or heavy content blockers that might block
content.jsinjection. - Service worker asleep: If the bar shows
--, give it a few seconds; messaging wakes the worker.
# Install development dependencies
npm install
# Build for development
npm run dev
# Run validation and tests
npm run test
# Create production package
npm run package# Works on Windows, macOS, Linux
npm run package-
Prepare for submission:
npm run package
-
Go to Chrome Developer Console:
- Visit: https://chrome.google.com/webstore/devconsole/
- Sign in with your Google account
- Pay the $5 one-time developer registration fee (if first time)
-
Upload your extension:
- Click "Add new item"
- Upload the ZIP file from
dist/NagMinder-v1.0.0.zip
-
Fill out store listing:
- Title: NagMinder
- Summary: A playful nag bar that tracks social media time and nudges you to be more productive
- Category: Productivity
- Language: English
-
Add required assets:
- Icon: Upload your 128x128 icon
- Screenshots: Take 1-5 screenshots showing the extension in action
- Promotional image (optional but recommended): 440x280 or 920x680
-
Privacy & Permissions:
- Explain why you need
storage,tabs, andidlepermissions - Add privacy policy if collecting any data (not needed for this extension)
- Explain why you need
-
Submit for review:
- Review can take 1-7 days
- Address any feedback from Google's review team
Description:
Track your social media time with a gentle, humorous nag bar. NagMinder shows how long you've spent on distracting sites today, this week, and this month - with funny reminders to help you stay focused.
β¨ Features:
β’ Time tracking for social media sites (Facebook, Twitter/X, Instagram, Reddit, TikTok, YouTube, etc.)
β’ Today, week, and month counters
β’ Funny, motivational nag messages
β’ Snooze for 15 minutes when you need a break
β’ Pause tracking for today option
β’ Configurable domains and settings
β’ Privacy-focused: all data stays on your device
Perfect for anyone trying to reduce mindless scrolling and be more intentional with their time online.
Keywords: productivity, time tracking, social media, focus, distraction blocker, mindfulness
MIT