Releases | Documentation | Issue tracker | Website | GitHub | Twitter
ActivityWatch records what you do so that you can become aware of what you do and choose to do better. All in a secure way where you control the data.
The goal of ActivityWatch is simple: Enable the collection of as much valuable lifedata as possible without compromising user privacy.
We've worked towards this goal by creating a application for safe storage of the data on the users local machine and as well as a set of watchers which record data such as:
- Currently active application and the title of its window
- Currently active browser tab and it's title and URL
- Keyboard and mouse activity, to detect if you are afk or not
It is up to you as user to collect as much as you want, or as little as you want (and we hope some of you will help write watchers so we can collect more).
Note: ActivityWatch is under development. There is still work to be done so we provide it with no guarantees with the hope that others may wish to help and give their feedback!
You can read more on our website.
Yes, but we found that most time trackers lack in some important features. Common dealbreakers:
- Open Source
- Syncronization
- High data resolution (storage of raw data)
- Plugins (simplicity to collect more data)
User owns data | Web UI | Sync | Open Source | Platforms | |
---|---|---|---|---|---|
ActivityWatch | ✅ | ✅ | ✅ | macOS, Linux, |
|
Selfspy | ✅ | ❌ | ❌ | ✅ | Windows, macOS, Linux |
ulogme | ✅ | ✅? | ❌ | ✅ | macOS, Linux |
RescueTime | ❌ | ✅ | Centralized | ❌ | Windows, macOS, Linux, Android, iOS |
WakaTime | ❌ | ✅ | Centralized | Client | Most popular text editors |
Tracking
Application | Window Title | AFK | Browser Extensions | Editor Plugins | |
---|---|---|---|---|---|
ActivityWatch | ✅ | ✅ | ✅ | In Beta | Possible |
Selfspy | ✅ | ✅ | ✅? | ❌? | ✅? |
ulogme | ✅ | ✅ | ✅? | ❌? | ❌? |
RescueTime | ✅ | ✅ | ✅ | ✅ | ❌ |
WakaTime | ❌ | ❌ | ✅ | ❌ | ✅, many |
We're not there yet for end-users, if you are a developer you may figure it out on your own until we get our shit together.
This repo is a bundle of the core components and official modules of ActivityWatch (managed with git submodule
). It's primary use is as a meta-package providing all the components in one repo; enabling easier packaging and installation. It is also where releases of the full suite are published (see releases).
aw-server
is the official implementation of the core service which the other activitywatch services interact with. It provides a datastore and serves the web interface developed in the aw-webui project (which provides the frontend part of the webapp).
The webapp includes basic data visualization (WIP), data browsing and export, and has a lot more planned for it.
aw-watcher-afk
- can be used to log the presence/absence of user activity from keyboard and mouse inputaw-watcher-window
- can be used to log the currently active application and it's window titleaw-watcher-web
- (WIP) can be used to increase the logging detail when browsing the web by collecting the URLs and titles of tabs (your web history with superpowers)
aw-core
- core library, provides no runnable modulesaw-client
- client library, useful when writing watchers
We currently don't have much of a good contributors guide (we're working on it), feel free to browse the documentation (also in a early state). You should also send me an email at: erik@bjareho.lt.