BeProductive is a productivity tracking web application with a Chrome extension that helps users stay focused during work or study sessions. The application allows users to create a timed productivity session, define which websites are considered productive, and automatically track browsing activity using the Chrome Tabs API.
During a session, the extension continuously monitors the active browser tab and classifies the user's browsing time as either productive or unproductive based on the configured list of productive domains. When the session ends (either automatically when the timer expires or manually by the user), a detailed analytics report is generated to help users understand how they spent their time.
- ⏱️ Create timed productivity sessions.
- 🌐 Configure a custom list of productive domains.
- 📊 Automatically track active browser tabs using the Chrome Tabs API.
- ✅ Measure productive browsing time.
- ❌ Measure unproductive browsing time.
- 🔄 Count distractions by tracking switches to unproductive websites.
- 📈 Display session analytics after every session.
- 🛑 End sessions manually or automatically when the timer expires.
- 📊 Compare with previous session — instantly see how your productive time, unproductive time, and domain jumps stack up against your last session
- 📄 Export to PDF — download a clean summary report of any session for your records
- Vue.js
- Express.js
- Chrome Extension
- Chrome Tabs API
-
Start a new productivity session.
-
Choose the desired session duration.
-
Configure the list of productive domains (for example:
github.com,stackoverflow.com,leetcode.com). -
Start the session.
-
The Chrome extension continuously monitors the currently active browser tab.
-
Every visited domain is classified as:
- Productive
- Unproductive
-
Time spent on each category is recorded throughout the session.
-
When the timer finishes or the user clicks Stop Session, an analytics report is generated.
At the end of every session, the application displays:
- Total Productive Time
- Total Unproductive Time
- Total Session Duration
- List of Unproductive Domains Visited
- Total Unproductive Jumps (number of times the user switched to an unproductive website)
Example:
Total Productive Time: 45 min 12 sec
Total Unproductive Time: 14 min 48 sec
Session Duration: 60 min
List of Unproductive Domains Visited:
- youtube.com
- instagram.com
- reddit.com
Total Unproductive Jumps: 7
Once a session ends, BeProductive lets you export a clean, shareable PDF report summarizing your results — total productive and unproductive time, session duration, unproductive domain jumps and visits and the full list of distracting domains visited. It's a quick way to keep a record of your sessions over time or just reflect on your habits without digging back through the app.
- Students preparing for exams
- Developers tracking coding sessions
- Remote employees
- Daily and weekly productivity reports
- Productivity trends and charts
- Notifications when spending too much time on distracting websites