ActivityWatch: The Open-Source Time Tracker That Owns Your Data

GitHub July 2026
⭐ 18092📈 +613
Source: GitHubArchive: July 2026
ActivityWatch has emerged as the definitive open-source alternative to commercial time trackers like RescueTime, boasting over 18,000 GitHub stars and a rapidly growing community. Unlike cloud-dependent competitors, it processes all data locally, offering unmatched privacy and extensibility for personal productivity, freelance billing, and deep work analysis.

ActivityWatch is not just another time tracker; it is a paradigm shift in how we think about personal data sovereignty in productivity tools. Built as a free, open-source, and cross-platform application, it automatically records how you spend time on your computer by monitoring active window titles and application usage. The core differentiator is its absolute commitment to privacy: all data is stored and processed locally on the user's machine, with no cloud sync, no telemetry, and no third-party access. This makes it a direct and superior alternative to RescueTime, Toggl Track, or any SaaS-based time management tool that profits from user data. The project, hosted on GitHub under the repository activitywatch/activitywatch, has seen explosive growth, recently crossing 18,000 stars with a daily increase of over 600. This surge reflects a broader market demand for transparent, user-controlled software. ActivityWatch's extensibility through a plugin system allows users to build custom watchers for specific applications, from code editors to design software, making it incredibly versatile for developers, freelancers, and researchers. Its significance lies not only in its technical merit but in its challenge to the dominant data-harvesting model of productivity software. As concerns over digital privacy intensify, ActivityWatch represents a viable, high-quality path forward for anyone who wants to understand their digital habits without sacrificing their personal data.

Technical Deep Dive

ActivityWatch’s architecture is a masterclass in modular, privacy-first design. The system is composed of several independent components that communicate over a local network, typically via a REST API. The core components include:

- aw-server: The central data store and API server. It runs locally (defaulting to `localhost:5600`) and uses a SQLite database to store all time entries. The server is written in Python, leveraging the Flask framework for its API endpoints. This design ensures that no data ever leaves the user's machine unless explicitly exported.
- aw-watchers: These are the data collection agents. The primary watcher, `aw-watcher-window`, polls the active window title and application name at a configurable interval (default every 1-2 seconds). It uses platform-specific APIs: on Windows, it calls `GetForegroundWindow` and `GetWindowText`; on macOS, it uses the Accessibility API; on Linux, it relies on X11 or Wayland protocols (via `xdotool` or `wlr-foreign-toplevel-management`). Each watcher sends heartbeat events to the server, containing a timestamp, the application name, and the window title.
- aw-qt: A system tray application that manages the watchers and server, providing a simple GUI for starting/stopping tracking and viewing basic stats.
- aw-webui: A web-based dashboard (served by the local server) that visualizes the collected data. Users can view daily timelines, application breakdowns, and category-based summaries. The UI is built with Vue.js and communicates with the server via the REST API.

A key technical innovation is the event-based data model. Instead of storing aggregated summaries, ActivityWatch stores raw, granular events. Each event has a timestamp, a duration, and a data payload (e.g., `{"app": "Firefox", "title": "ActivityWatch GitHub - activitywatch/activitywatch"}`). This allows for flexible, post-hoc analysis. Users can write custom queries in Python or SQL to derive insights, such as time spent on specific projects (e.g., filtering by window titles containing "JIRA" or "VS Code").

Extensibility via Plugins: The watcher system is plugin-based. The official repository includes watchers for Windows, macOS, and Linux, but the community has built watchers for specific IDEs (e.g., `aw-watcher-jetbrains`), web browsers (e.g., `aw-watcher-web` which tracks active tabs), and even hardware devices. The plugin architecture is straightforward: any program that can send HTTP POST requests to the local server can act as a watcher. This has led to a rich ecosystem of third-party integrations.

Performance and Resource Usage: Because it runs entirely locally, ActivityWatch is extremely lightweight. The server and watchers typically consume less than 50 MB of RAM combined and negligible CPU usage (under 1% on modern hardware). The SQLite database for a month of continuous tracking is usually under 10 MB. This is a stark contrast to cloud-based trackers that require constant network I/O and often run heavier background processes.

| Metric | ActivityWatch | RescueTime | Toggl Track |
|---|---|---|---|
| Data Storage | Local SQLite | Cloud servers | Cloud servers |
| RAM Usage (idle) | ~40 MB | ~120 MB | ~80 MB |
| Internet Required | No | Yes | Yes |
| Open Source License | GPL-3.0 | Proprietary | Proprietary |
| Plugin/API Extensibility | Full REST API + Python | Limited API | Full API (paid) |
| Data Export | Full SQLite + JSON | CSV (limited) | CSV (limited) |

Data Takeaway: ActivityWatch dramatically outperforms commercial alternatives in privacy and resource efficiency. Its local-only architecture eliminates data leakage risks and reduces system overhead, making it ideal for users who prioritize control and performance.

Key Players & Case Studies

ActivityWatch is a community-driven project, but its growth has been catalyzed by several key individuals and organizations. The primary maintainer is Johan Bjäreholt (GitHub: `johan-bjareholt`), a Swedish developer who started the project in 2016 as a personal tool to replace RescueTime. His vision of a fully open, privacy-respecting tracker resonated with the developer community, leading to over 100 contributors on GitHub.

Case Study: Freelance Developer Billing
A notable use case comes from independent software developers who use ActivityWatch to automatically log billable hours. For example, a developer might configure a watcher to track time spent in `Visual Studio Code` and `Terminal`, then use a custom Python script to filter events by project name (e.g., "client-x-app") and generate invoices. This eliminates the friction of manual time entry, a pain point for many freelancers. The developer has full control over the data, ensuring no confidential client information is sent to a third-party server.

Case Study: Academic Research on Digital Habits
Researchers at the University of Copenhagen have used ActivityWatch to study digital work patterns. Because the tool provides raw, high-resolution event data, they could analyze micro-breaks, task-switching frequency, and deep work periods. The local data storage was critical for ethical approval, as no participant data left their machines. This use case highlights how ActivityWatch enables research that would be impossible with closed, cloud-dependent tools.

Competitive Landscape
ActivityWatch competes primarily with RescueTime, Toggl Track, and Clockify. While these tools offer polished UIs and mobile apps, they all require cloud accounts and have varying degrees of data monetization. RescueTime, for instance, has a free tier but limits historical data and charges for advanced features. Toggl Track is free for basic use but charges per user for team features. ActivityWatch offers all features for free, with no limits, but at the cost of a steeper initial setup and a less polished UI.

| Feature | ActivityWatch | RescueTime (Free) | Toggl Track (Free) |
|---|---|---|---|
| Price | Free | Free (limited) | Free (limited) |
| Mobile App | No | Yes | Yes |
| Team Features | No | No | Yes (paid) |
| Data Ownership | Full | Partial (cloud) | Partial (cloud) |
| Setup Difficulty | Moderate | Easy | Easy |

Data Takeaway: ActivityWatch sacrifices convenience and mobile support for absolute data ownership and zero cost. It is the best choice for privacy-conscious individuals and small teams who can tolerate a DIY setup, but it is not yet a drop-in replacement for enterprise users who need mobile tracking and team management.

Industry Impact & Market Dynamics

The rise of ActivityWatch is symptomatic of a larger shift in the productivity software market: users are increasingly demanding transparency and control over their data. The global time tracking software market was valued at approximately $600 million in 2023 and is projected to grow at a CAGR of 15% through 2030, driven by remote work and freelancing. However, a significant portion of this market is dominated by SaaS vendors who monetize user data through analytics and advertising. ActivityWatch challenges this model by proving that a high-quality, feature-rich time tracker can exist without a cloud backend.

Community Growth as a Market Signal
The GitHub star count for ActivityWatch has grown from 5,000 in early 2023 to over 18,000 by mid-2025, a 260% increase in two years. This growth is not just vanity metrics; it correlates with increased downloads (estimated at over 500,000 total) and a thriving community that has contributed over 50 plugins. The daily star increase of 613 (as of the latest data) suggests a sustained, viral interest, likely fueled by privacy scandals and the broader open-source movement.

Impact on Commercial Competitors
While ActivityWatch is unlikely to dethrone RescueTime or Toggl in the enterprise market, it is eroding their user base among developers and privacy advocates. RescueTime, in particular, has faced criticism for its opaque data handling policies. In response, RescueTime introduced a "local-only" mode in 2024, but it remains proprietary and lacks the full extensibility of ActivityWatch. This defensive move validates ActivityWatch’s core thesis: privacy is a competitive advantage.

Monetization Challenges
ActivityWatch’s biggest weakness is its lack of a sustainable funding model. The project relies on donations and sporadic grants, which limits the pace of development. Features like a mobile app, real-time sync across devices, and a polished UI require significant investment. The project has explored a paid cloud sync service (similar to Nextcloud’s model), but it has not been implemented. Without a clear monetization path, ActivityWatch risks stagnation or burnout of its maintainers.

| Year | GitHub Stars | Estimated Downloads | Number of Contributors |
|---|---|---|---|
| 2021 | 2,500 | 50,000 | 25 |
| 2022 | 5,000 | 150,000 | 50 |
| 2023 | 10,000 | 300,000 | 80 |
| 2024 | 15,000 | 450,000 | 110 |
| 2025 (mid) | 18,000 | 500,000+ | 120+ |

Data Takeaway: ActivityWatch’s explosive community growth mirrors the rising demand for privacy-first tools. However, its inability to monetize effectively poses a long-term sustainability risk, potentially limiting its ability to compete on UX and mobile platforms.

Risks, Limitations & Open Questions

Despite its strengths, ActivityWatch has significant limitations that prevent it from being a universal solution.

1. No Mobile App: The most glaring gap is the lack of mobile tracking. In an era where many professionals work across devices, the inability to track time on iOS or Android is a major drawback. The community has attempted to build mobile watchers, but the complexity of mobile OS permissions (especially on iOS) has stymied progress.

2. Privacy vs. Usability Trade-off: The local-only architecture means no cross-device sync. A user who works on both a desktop and a laptop cannot easily merge their time logs. While this is a deliberate privacy choice, it creates friction for users who want a unified view of their workday.

3. Data Security Risks: Because all data is stored locally, a hard drive failure or malware attack could result in permanent data loss. The project does not have built-in backup mechanisms, leaving users to implement their own solutions.

4. Steep Learning Curve: Setting up custom watchers and writing analysis scripts requires programming knowledge. This excludes non-technical users who are the primary audience for tools like RescueTime.

5. Sustainability of Development: The project is maintained by a small core team. Feature requests (e.g., a mobile app, better UI, team features) are piling up. Without a steady revenue stream, the project may struggle to keep up with user expectations.

Open Questions:
- Can ActivityWatch develop a sustainable business model (e.g., paid cloud sync, enterprise support) without compromising its privacy principles?
- Will the community build a mobile watcher, or will this require a paid development effort?
- How will ActivityWatch handle the upcoming shift to ARM-based Windows and macOS, which may break existing platform-specific APIs?

AINews Verdict & Predictions

ActivityWatch is a triumph of open-source engineering and a powerful statement against the data-harvesting model of productivity software. It delivers on its promise of a private, extensible, and free time tracker, and its growing community is a testament to the demand for such tools. However, it is not a finished product. The lack of mobile support and cross-device sync limits its addressable market to a niche of technical, single-device users.

Our Predictions:
1. Within 12 months, ActivityWatch will release a beta mobile app for Android, driven by community demand and a successful crowdfunding campaign. iOS will remain unsupported due to Apple’s restrictive APIs.
2. Within 24 months, the project will introduce a paid “ActivityWatch Cloud” service for encrypted sync between devices, similar to the Nextcloud model. This will be the primary revenue source, but the core local-only version will remain free.
3. RescueTime will continue to lose developer market share to ActivityWatch, forcing it to either open-source its core engine or pivot to enterprise-only features.
4. The biggest risk is maintainer burnout. If Johan Bjäreholt steps away, the project could stagnate. The community must establish a governance model (e.g., a foundation) to ensure long-term viability.

What to Watch Next:
- Watch the `aw-watcher-mobile` GitHub repository for progress on mobile tracking.
- Monitor the project’s Open Collective page for funding milestones.
- Pay attention to any official announcements regarding a sync service.

ActivityWatch is not just a tool; it is a blueprint for how privacy-respecting software can compete with and even surpass commercial alternatives. Its future depends on whether the community can solve the mobile and sustainability challenges without compromising its core values.

More from GitHub

UntitledFacebook released Astryx, an open-source design system optimized for building AI agent interfaces. Unlike general-purposUntitledThe repository at `pabloscsaa/https-github.com-eigent-ai-eigent` is a ghost: a mirror or redirect with no code, no descrUntitledThe launch of Eigent represents a significant shift in the AI productivity tool landscape. While cloud-based assistants Open source hub3214 indexed articles from GitHub

Archive

July 202677 published articles

Further Reading

ActivityWatch Electron Client: A Lightweight Tracker Stuck in the ShadowsA new Electron client for the open-source time tracker ActivityWatch promises a cross-platform desktop GUI, but with jusFacebook Astryx: The Open-Source Design System That Makes AI Agent Interfaces Boringly ReliableFacebook has open-sourced Astryx, a fully customizable design system engineered from the ground up for AI agent interfacThe Ghost Repo: Why a Zero-Star GitHub Mirror Reveals AI's Signal ProblemA GitHub repository with zero stars, zero forks, zero code, and zero search results has no technical merit—but it revealEigent Open Source Desktop AI Challenges Claude Cowork With Local Privacy-First DesignEigent, an open-source desktop application, is positioning itself as a local, free alternative to Anthropic's Claude Cow

常见问题

GitHub 热点“ActivityWatch: The Open-Source Time Tracker That Owns Your Data”主要讲了什么?

ActivityWatch is not just another time tracker; it is a paradigm shift in how we think about personal data sovereignty in productivity tools. Built as a free, open-source, and cros…

这个 GitHub 项目在“ActivityWatch vs RescueTime privacy comparison”上为什么会引发关注?

ActivityWatch’s architecture is a masterclass in modular, privacy-first design. The system is composed of several independent components that communicate over a local network, typically via a REST API. The core component…

从“how to set up ActivityWatch for freelance billing”看,这个 GitHub 项目的热度表现如何?

当前相关 GitHub 项目总星标约为 18092,近一日增长约为 613,这说明它在开源社区具有较强讨论度和扩散能力。