The Problem
You open a tab to "quickly check" something. Forty minutes later you're still there.
Browser history tells you what you visited. It never tells you how long you stayed. I kept losing track of time across research sessions, YouTube rabbit holes, and work dashboards — so I built something to fix it.
Introducing Tab Timer
Tab Timer is a Chrome extension that tracks time spent on any website and shows it live via a small floating widget directly on the page — no need to click anything, it's just always there.
Key Features
Floating On-Page Widget
A draggable timer widget lives right on the page. Choose from 4 sizes (Extra Compact to Large). You can customize which buttons show — pause, reset, and lock — or hide them entirely.
Focus Mode
When enabled, only the currently active tab's timer runs. Switch tabs, and the previous one pauses automatically. This gives you an honest measure of time actually spent looking at something, not just time it sat open.
Lock Timers
Refreshing a page normally resets a timer. Lock a tab's timer and it survives reloads. New timers start locked by default — so a page refresh doesn't wipe your session time.
Per-Site Control
Enable Tab Timer only on sites you want to track, or flip on "enable all sites" to track everything. You stay in control of what gets monitored.
Analytics
Tab Timer records your time locally and gives you:
- Daily time breakdowns per site
- Top sites by time spent
- Trends over time
(Insert analytics screenshot here)
All data is stored in Chrome's local storage. Nothing is ever sent to any server.
How I Built It
- Manifest V3 — built on the latest Chrome extension platform
- Service Worker for background timer tracking
- Chrome Storage API for persisting timers and analytics locally
- Content Scripts for injecting the floating widget into pages
- No frameworks, no build tools — plain JS, HTML, and CSS
The trickiest part was handling the Focus Mode logic: pausing timers across all tabs when the active tab changes, while making sure timers survive tab reloads and browser restarts without drifting.
Privacy
No accounts. No servers. No tracking of your data by me.
Everything Tab Timer records stays in your browser's local storage and never leaves your device.
What's Next
- Time limits and alerts (e.g. notify after 30 min on a site)
- Weekly email/export reports
- Dark mode widget theme
Try It
Install Tab Timer from the Chrome Web Store
I'd love feedback, bug reports, or feature ideas — drop them in the comments below!
Top comments (0)