Find out where your time actually goes — without sending your browsing history anywhere.
BHV reads your Chromium-family browser history files directly, runs an analysis pipeline, and serves a React dashboard showing how you actually spend time online. No cloud, no tracking — your history stays on your machine.
- Multi-browser detection — auto-discovers Chrome, Arc, Brave, Edge, Vivaldi, Opera, and any Chromium browser under
~/Library/Application Support - GitHub-style activity heatmap — visits per day with 5-level intensity buckets across your full history
- Category breakdown — domain visits and estimated minutes per topic category (static allowlist + optional Claude AI classification)
- Top domains — ranked by visit count with category and estimated time
- Hourly productivity chart — focus vs. distraction minutes by hour
- Rabbit hole detection — identifies multi-domain browsing sessions spanning extended periods
- Date range filtering — scope heatmap and rabbit-hole views to any date window
- launchd integration — optional background service for daily pipeline runs at 6 AM
- Python 3.11+
- Node.js 18+
- macOS (uses
~/Library/Application Supportpaths)
git clone https://github.com/saagpatel/BrowserHistoryVisualizer
cd BrowserHistoryVisualizer
pip install -r backend/requirements.txt
cd frontend && npm install# Start backend
cd backend && python main.py
# Start frontend (separate terminal)
cd frontend && npm run dev
# Open http://localhost:5173| Layer | Technology |
|---|---|
| Backend | Python 3.11, FastAPI, pandas, uvicorn |
| Frontend | React 19 + TypeScript + Tailwind CSS 4 + Recharts + D3 |
| AI categorization | Anthropic Claude API (optional) |
| Proxy | nginx (Homebrew) |
| Service management | macOS launchd |
MIT