Productivity Browser Extension
A browser extension that tracks time spent per website, shows a daily usage breakdown in a popup, and lets users set time limits with gentle block reminders. Learners practice the WebExtensions API, background scripts, and cross-tab state tracking.
- Estimate
- ~12h
- Steps
- 6
- Completed by
- 0
- Proposed by
- codeseed.app
WebExtensions API · Chrome APIs · IndexedDB
Project roadmap
- 01
Set up the extension
~2hConfigure the extension manifest and a background service worker that tracks active tab changes.
- 02
Track time per site
~2.5hRecord time spent per domain into IndexedDB as tabs switch and the user goes idle.
- 03
Build the popup UI
~2hShow today's usage breakdown as a chart inside the extension popup.
- 04
Add time limits
~2.5hLet users set per-site daily time limits and show a content-script warning overlay when exceeded.
- 05
Add an options page
~1.5hBuild an options page for managing tracked sites and their limits.
- 06
Handle idle and sleep states
~1.5hAccount for browser idle and sleep states so tracked time stays accurate.
Resources
- DocsJavaScript (MDN)
Ready to build this?
Get a GitHub repo and start building. Your AI reviewer checks each step as you go.
Tech stack