ActivityWatch
A cross-platform, privacy-focused automatic time tracker that records which apps, browser tabs and activity you use, with all data stored locally.
- GitHub stars
- 19k
- Last commit
- yesterday
- Latest release
- v0.13.2
- Licence
- MPL-2.0
- Self-hosted
- Yes

ActivityWatch is an open-source application that records what you do on your computer so you can see how you spent your time. Its guiding goal is to let people collect as much valuable lifedata as they like without compromising privacy, so everything is stored securely on your own machine and you control what is gathered.
Data comes from small programs called watchers. The standard ones record the currently active application and its window title, the active browser tab with its title and URL, and keyboard and mouse activity to work out whether you are away from the keyboard. You decide how much to collect, and community members are encouraged to write more watchers. The repository also includes a server and libraries, and the project provides a feature comparison with other time trackers.
ActivityWatch is written mainly in Python, is MPL-2.0 licensed and works across Windows, macOS and Linux. It has a forum, documentation and a newsletter. It appeals to people who want automatic time tracking and productivity analytics without sending activity data to a cloud service.
Key features
- Automatic tracking of active apps and windows
- Browser tab title and URL logging
- AFK detection from keyboard and mouse activity
- Local-only data storage
- Extensible through custom watchers
- Windows, macOS and Linux support
Pricing: Free and open source under the MPL-2.0 license.
