ActivityWatch is an open-source, privacy-focused time tracking platform that automatically records computer usage patterns to provide a comprehensive history of personal digital activity. It functions as a background service that monitors system metrics, application focus, and user input to build a detailed log of how time is allocated across various tasks and projects.
The platform distinguishes itself through a local-first architecture that stores all activity data as structured files on the user's machine, ensuring that sensitive usage history remains private and accessible offline. It supports peer-to-peer synchronization, allowing users to merge activity logs across multiple computers to maintain a unified history. Data is organized into logical containers, which are managed and queried through a local interface to generate interactive visualizations and reports.
The system utilizes a modular plugin-based architecture to capture a wide range of metadata, including browser activity, media consumption, and specific file paths from code editors. It also provides tools to import historical records from third-party services, consolidating disparate data sources into a single analytical view.