Privacy-first Windows activity and productivity tracker.
Activity Tracker answers the question "where did my day actually go?" — from fully local, content-free data. It watches the foreground window and application usage in real time, counts keystrokes and mouse clicks without ever recording their content, estimates power draw, detects deep-work sessions, gamifies focus, and guards against distraction. Everything stays on your machine.
Your data belongs to you: no keystroke content, no screenshots, no telemetry, no cloud sync.
- Privacy-first by design — data lives in a local SQLite database at
C:\ProgramData\ActivityTracker(shared across Windows user profiles), never in the cloud. - Real-time tracking — foreground window/app monitoring, global keystroke and click counts, mouse distance, idle detection with a configurable threshold.
- Historical analysis — date-range filters (Today, Yesterday, This Week, Previous Week, This Month), chronological log, app-wise aggregation, and a GitHub-style 52-week focus calendar.
- The Pulse — a high-level daily overview: focus score, screen time, deep-work sessions, peak hour, top app, and deltas vs. yesterday.
- Focus Flow — a continuous 24-hour timeline of focus intensity with strict interval alignment.
- Deep Work Sessions — contiguous focus blocks (≥ 25 min) with duration, dominant app, and interruptions.
- Two reading modes — data (numbers-led) or editorial (a serif prose narrative of your day). Same queries, same numbers, different presentation.
- Energy Vampire — honest power-draw estimates per app (wattage bands × time), clearly labeled as estimates, not hardware measurements.
- Gamification — XP, levels, streaks, and six achievements (Early Bird, Night Owl, Deep Diver, Consistency King, Month Marathon, Century Club) with native notifications on unlock.
- Distraction Guard — per-app daily time limits; one native notification per day, an in-app alert, and an amber tray icon when a limit is crossed.
- Smart branding — process names are cleaned automatically (
visual_studio_code.exe→Visual Studio Code), with support for common acronyms. - Machine-wide settings — launch on startup, start minimized to tray, idle threshold, app blacklist, per-app Focus/Distraction/Ignore classification, sensitive-title redaction, data retention (30/90/180 days or forever).
- Data export — full history as JSON or CSV via the native save dialog.
- Premium UI — Plus Jakarta Sans typography, glassmorphism, spotlight hover effects, dark/light/system themes, and smooth transitions.
| Layer | Technology |
|---|---|
| Shell | Tauri v2 (WebView2) |
| Backend | Rust + rusqlite, native Win32 polling (GetForegroundWindow / GetLastInputInfo) |
| Frontend | React 19 + TypeScript + Vite |
| State | TanStack Query |
| Styling | Tailwind CSS v4 + custom design system (vanilla CSS) |
| Charts | Recharts |
| Database | SQLite (bundled, via rusqlite) |
| Tests | Vitest + React Testing Library |
Domain-driven, feature-first layout — data access is centralized in React Query hooks that mirror the Rust backend's structs, so the TypeScript types and the SQLite schema never drift far apart.
src/
├── api/ # Tauri backend bindings
├── components/ # UI components (dashboard, insights, tools, wellbeing, ui, shared)
├── constants/ # Design tokens, animations, config
├── context/ # React Context (theme, etc.)
├── hooks/ # Custom React hooks (+ queries/ for data fetching)
├── pages/ # Route components (Dashboard, Timeline, Activity, Power, Tools, Settings)
├── types/ # Shared TypeScript definitions
└── utils/ # Helper functions (formatters, validation)
git clone https://github.com/unfoldingdimensions/Activity_Tracker.git
cd Activity_Tracker
npm installnpm run tauri devnpm test # run the test suite (Vitest)
npm run lint # ESLint
npm run build # type-check + production frontend build
npm run tauri build # full desktop installerThis application:
- Does not log keystroke content — only frequency counts.
- Does not capture screenshots or window contents.
- Contains no tracking pixels, telemetry, or cloud sync.
- Stores everything in a local
activity.dbunderC:\ProgramData\ActivityTrackeron Windows. - Can redact window titles at record time — sensitive keywords you configure (e.g.
password,bank) are masked before anything is stored. - Lets you blacklist apps entirely and export or delete your data at any time.
Questions and bug reports are welcome via GitHub Issues. Pull requests are reviewed and appreciated — please make sure npm test and npm run lint pass before submitting.
MIT © 2026 unfoldingdimensions
Built for focused developers.