Overview
Most “free” software quietly auctions off your behavioral data, and ActivityWatch refuses to join that trade. Developed by Superuser Labs, it is a “quantified self” engine built on the radical premise that your digital habits belong to you, and you alone. While commercial heavyweights like RescueTime have pivoted toward enterprise-friendly cloud models, ActivityWatch doubles down on a local-first philosophy that stores every window switch and app launch on your own hardware.
The market positioning here is clear: this is a tool for the developer, the privacy advocate, and the power user who views cloud-based telemetry with earned suspicion. It functions as a silent observer, a suite of “watchers” that record active windows, application usage, and “AFK” (Away From Keyboard) status to construct a granular timeline of the day. By bypassing the server-side processing that defines its competitors, it removes the middleman from the self-improvement journey.
However, this independence comes with a price. There is no slick onboarding wizard or AI-driven “coach” to pat users on the back. ActivityWatch is a raw mirror. It reflects exactly what you do, for better or worse, and leaves the interpretation—and the technical configuration—entirely in your hands. It is an extensible, modular framework that demands a level of technical literacy most “consumer” apps have spent the last decade trying to eliminate. In the landscape of modern software, it is a rare piece of digital infrastructure that treats the user like an adult.
Key features
- Privacy-First Architecture: Every byte of data is stored locally. There is no “syncing to the cloud” because there is no cloud to sync to, ensuring usage patterns remain private.
- Modular “Watchers”: A flexible system of official and community-driven plugins that track everything from VS Code development time to browser-specific activity in Chrome and Firefox.
- The Sunburst Dashboard: A sophisticated, web-based visualization tool that breaks down time usage into hierarchical categories, providing an immediate visual grasp of daily “loops.”
- Advanced Categorization: Leverages keywords and regular expressions (regex) to allow users to build highly specific rules for how their time is classified and analyzed.
Analysis
The core experience of ActivityWatch is one of “set and forget,” but the “forget” part only works if you’ve survived the “set” phase. Unlike commercial trackers that attempt to guess what is “productive” through proprietary algorithms, ActivityWatch provides a blank canvas.
The Logic of the Watcher
The application operates through a decentralized architecture of watchers. These are small, independent processes that report back to a central server—which, crucially, runs on the local machine. The AFK watcher is perhaps the most vital; it monitors input activity to distinguish between actual work and a document left open while its user wanders off to make coffee. Combined with the window watcher, this design should yield a detailed, fine-grained timeline.
For developers, the integration is where ActivityWatch earns its keep. By installing plugins for VS Code or Vim, you track time spent on specific projects or even specific files, not just “time spent in an editor.” This level of granularity is a boon for freelancers or anyone needing to justify billable hours without manual timer-starting gymnastics.
The Categorization Steeplechase
The real “utility” of ActivityWatch is locked behind its categorization engine. The software ships with basic categories, but to get the most out of it, users must dive into the Custom Rules. This is where the design is both exciting and annoying. The app allows the use of regular expressions to filter data. If you want every window containing the word “Budget” or “Spreadsheet” to be filed under “Finance,” you can do that.
The friction here is palpable. For the average user, writing regex is about as intuitive as performing self-dentistry. But for those who speak the language, it offers a level of control that no “smart” algorithm can match. You aren’t at the mercy of a developer’s definition of “work”; you are the architect of your own productivity metrics.
The Dashboard: Data over Decoration
Accessing data happens through a web-based dashboard. It is utilitarian to a fault. The Sunburst charts are well suited to seeing the macro-to-micro breakdown of the day, but the interface lacks the “gamified” dopamine hits of its competitors. There are no streaks, no badges, and no weekly reports sent to email (because, again, there is no email server).
The user experience flow is intentionally passive. You check the dashboard when you want to learn something, not because the app is begging for attention. This lack of “onboarding friction” once configured is refreshing. It’s a tool that respects your time while it tracks it. However, the dashboard’s aesthetic—while clean—feels more like a technical readout than a polished consumer product. It is functional, but it lacks the “vibe” that makes daily review a pleasure rather than a chore.
Visuals & performance
Visually, ActivityWatch is the equivalent of a high-end industrial tool: it isn’t “pretty,” but it is built to work. The web UI is responsive and clearly organized, though it feels a bit “developer-chic.” By design, it isn’t constantly pinging a remote server or running heavy background animations, so its footprint on system resources should stay light. It sits in the tray, it watches, and it stays out of the way.
Platform Nuances (Android)
The Android version of ActivityWatch is currently the weakest link in the ecosystem. While it brings the “local-first” tracking to the mobile space, it appears distinctly like a work-in-progress. It relies heavily on Android’s Accessibility Services to “see” what apps are in use—a mechanism that is inherently prone to battery drain and feels “clunky” compared to the desktop experience. It lacks the deep modularity of the desktop watchers, focusing instead on broad app-usage tracking. It’s a necessary companion for a total “quantified self” picture, but don’t expect the same level of granular control available on Linux or macOS.
Final verdict
ActivityWatch is uncommon software that prioritizes the user’s rights over marketability. It is a capable, silent, and uncompromising tool for those who want to understand their digital lives without selling their souls to a cloud provider. But the technical barrier to entry is higher than a typical consumer app, the mobile experience lags the desktop, and the interface won’t win anyone over on charm. The payoff—a level of data sovereignty that is increasingly hard to find—is real, but only worth chasing for the right audience. It is a statement of independence, with all the compromises that stance implies.
Reviewed by the Rankeno Productivity Desk. Scores are out of 10; the overall score is the desk’s editorial judgement, informed by the four sub-scores above. How we review