🔒 100% On-Device  ·  No accounts  ·  No servers

The heartbeat of
your browsing

WebPulse tracks where your time goes online — deep YouTube analytics, Shorts blocking, AI categorization, site blocking, and a Pomodoro timer. All data stays on your device.

Install from source View on GitHub
All data stored locally
No telemetry
No account required
On-device AI only
Export or delete anytime

Everything in one place

Overview, YouTube analytics, Pomodoro, restrictions and settings — all in one tab.

chrome-extension://webpulse/dashboard.html
Overview dashboard showing time stats, activity heatmap, focus sessions and visited sites
YouTube Stats — 10 tech & data channels, week view showing watch heatmap, daily category chart and top channels
Pomodoro timer with configurable work and rest intervals
Settings panel with YouTube pause toggle and data export
About page showing app info and developer details
Features

Everything you need to understand your time

WebPulse goes beyond simple time tracking — it understands context.

Precise Time Tracking

Tracks active tab time with idle detection. Heartbeat-based sessions survive Chrome killing the service worker.

YouTube Deep Analytics

Per-channel and per-video watch time. Counts actual playback seconds at any speed — not just time on the tab.

🩳

Hide YouTube Shorts

Removes Shorts from feed, sidebar, search and channel tabs. Redirects youtube.com/shorts back to the homepage.

Pause on Tab Switch

Automatically pauses YouTube videos when you switch to another tab. No more audio playing in the background.

🧠

On-Device AI Categories

Classifies every site using a static rule map first, then Gemini Nano for unknowns. Never leaves your device.

🍅

Pomodoro Timer

Configurable work/rest intervals with audible tick-tock, chimes, and ambient ocean or rain sounds.

🚫

Site Blocking

Set daily time limits per domain. Hit your limit and get redirected. One daily defer for when you really need it.

📊

Rich Dashboard

Heatmaps, stacked category charts, focus session detection, and ranked site lists — all in one page.

📤

CSV Export

Export your browsing history or YouTube watch sessions to CSV for analysis in any tool you like.

🔔

Smart Notifications

Daily summary at your chosen time. Per-site alerts when you exceed a custom threshold.

🔒

100% Private

No servers, no telemetry, no accounts. All data lives in your browser's IndexedDB. Export or delete anytime.

How it works

Simple, transparent, private

No signup, no cloud. Install, browse, and your data is already there.

1

Install from source

Clone the repo, run npm run build, and load the dist/ folder as an unpacked extension in Chrome. Takes about two minutes.

2

Browse normally

The background service worker silently tracks active tab time. No interaction needed — data accumulates automatically.

3

Open the popup or dashboard

Click the WebPulse icon for a quick overview, or open the full dashboard for deep charts, YouTube stats, and settings.

4

Tune to your workflow

Block distracting sites, set a Pomodoro schedule, configure notifications — or just observe and learn your patterns.

Tech Stack

Built on solid foundations

Modern Chrome MV3 extension with React, TypeScript, and on-device AI.

Chrome MV3 WXT React 18 TypeScript Dexie / IndexedDB Recharts Gemini Nano (Built-in AI) Zustand Web Audio API Playwright (E2E) Vitest (unit)

Start tracking your time today

Free, open-source, and entirely private.

View on GitHub →