Automatically monitors device usage and records activity data with local storage for user privacy.

ActivityWatch is an open-source, self-hosted web app and server that automatically monitors device usage. It records activity data to help users understand how they spend their time while maintaining local control over the information. The software is designed to enable the collection of valuable lifedata without compromising user privacy by avoiding centralized cloud storage.
The software is deployed as a server and a set of watchers that run on the user's machine. It is cross-platform, supporting Windows, macOS, Linux, and Android. Users interact with their collected data through a web-based user interface that provides dashboards and timeline views for analyzing productivity and habits.
The architecture consists of a core server, available in both Python and Rust implementations, and various watchers that send heartbeat signals to the server. The server manages a datastore organized into buckets, which are containers that group related activity data by metadata such as client type or hostname. This allows the system to store high-resolution time-series data without losing raw detail. The web interface includes a query explorer for writing and debugging queries, as well as detailed breakdowns of application usage and web browsing.
Because of its modular design, the system is highly extensible. Users can develop their own watchers to collect specific types of data, and the provided client libraries in Python, JavaScript, and Rust facilitate the integration of new modules. This makes the software suitable for both general users and developers who want to customize their tracking environment.
ActivityWatch is positioned for individuals interested in the quantified-self movement who require a private, extensible, and local-first time-tracking solution.
Track billable hours across multiple projects and clients with a self-hosted interface for freelancers and agencies.
A configurable Pomodoro timer with session statistics, customizable themes, and native desktop notifications for time management.
Join our newsletter to get shiny new open source software delivered to your inbox. Unsubscribe anytime.