An open-source, local-first knowledge base that merges docs, whiteboard canvas and tables in one workspace, as an alternative to Notion and Miro.
ActivityWatch/activitywatch
Open-source automated time tracker that records active apps, window titles, browser tabs and AFK status, storing all data locally under your control.
Open-source alternative to:RescueTime
WakaTime
- Stars
- 19,278
- Forks
- 1,045
- Open issues
- 132
- Last commit
- yesterday
What is it?
ActivityWatch records how you spend your time on your computer. Small programs called watchers collect data such as the currently active application and its window title, the active browser tab with its title and URL, and keyboard and mouse activity used to detect whether you are away from the keyboard. The data is stored in a local server, and you decide which watchers to run.
The project includes a REST API with buckets, events, heartbeats and a query language for filtering, merging and grouping events. A web interface provides dashboard and timeline views, a query explorer, a raw data browser, and JSON export. Client libraries for Python, JavaScript and Rust let developers write their own watchers. The core server is available in Python and Rust implementations.
The application runs on Windows, macOS, Linux and Android, and sync between devices is listed as work in progress using a decentralized sync folder.
Key features
- 01Tracks active application and window title, browser tabs, and AFK status.
- 02Stores data locally so you control it.
- 03REST API with buckets, events, heartbeats and a query language.
- 04Web UI with dashboards, timeline view and raw data browser.
- 05Extensible through custom watchers and Python, JavaScript and Rust client libraries.
- 06Runs on Windows, macOS, Linux and Android.
Use cases
- Reviewing how much time you spend on different apps and websites each day.
- Building a personal quantified-self dataset with your own watchers.
- Measuring focused work versus time away from the keyboard.
Quick start
- 1
Download the app from the releases page
- 2
Read the getting started guide in the documentation
- 3
Build from source if you prefer (see the installing-from-source guide)
Things to know
- The README's feature comparison marks iOS as unsupported.
- Sync between devices is still work in progress according to the README.
- The Python server is the current default, while the Rust server is planned as the future default.
Topics
FAQ
- What is activitywatch?
- Open-source automated time tracker that records active apps, window titles, browser tabs and AFK status, storing all data locally under your control. ActivityWatch records how you spend your time on your computer. Small programs called watchers collect data such as the currently active application and its window title, the active browser tab with its title and URL, and keyboard and mouse activity used to detect whether you are away from the keyboard. The data is stored in a local server, and you decide which watchers to run.
- Is activitywatch free to use? What license does it have?
- activitywatch is open source under the MPL-2.0 license. Check the license terms before using it in commercial products.
- Is activitywatch still maintained?
- Actively maintained. The last commit to activitywatch was on Oct 18, 2026.
- What can I use activitywatch for?
- Reviewing how much time you spend on different apps and websites each day. Building a personal quantified-self dataset with your own watchers. Measuring focused work versus time away from the keyboard.
- How do I install activitywatch?
- Download the app from the releases page Read the getting started guide in the documentation Build from source if you prefer (see the installing-from-source guide)
- Where can I get activitywatch?
- The source code and installation instructions are on GitHub: https://github.com/ActivityWatch/activitywatch
Summary generated by AI from the project's README. GitHub stats refresh daily.
Related projects
Open-source, local-first AI meeting notepad that captures device audio without a bot joining the call, as an alternative to Granola.
Official Electron desktop client for Anytype, a local-first, end-to-end encrypted personal knowledge base for macOS, Windows and Linux.
Open-source system cleaner for Windows and Linux that frees disk space and removes privacy-sensitive traces.
Offline-first desktop photo manager for macOS, Windows and Linux, with local AI search, face clustering and duplicate cleanup for large libraries.
A browser extension that records your clicks and turns them into a step-by-step guide with annotated screenshots, stored locally.