ActivityWatch is an open-source, local-first alternative to RescueTime that logs desktop and browser activity into an on-device SQLite database.
ActivityWatch is an automated time tracker that records desktop application usage, active window titles, and browser tabs without sending telemetry off the host machine. It stores raw event streams in a local SQLite datastore queried through an embedded REST API. Background watchers collect user presence and application focus through periodic heartbeats rather than continuous screen capture or heavy background polling.
RescueTime runs a proprietary desktop daemon that aggregates application titles, categorizes productivity according to cloud heuristics, and uploads usage data to remote servers. That architecture introduces continuous network egress and cloud latency when querying historical timelines. ActivityWatch replaces that ingestion pipeline with on-device collection: watchers dispatch heartbeats over a local socket to aw-server, which writes directly into an embedded SQLite database. Because all timeline queries and categorization filters execute against local storage, dashboard rendering happens immediately without external API round-trips.
Workstation resource allocation and fleet aggregation define the trade-off. RescueTime offloads historical rollups to its cloud cluster, freeing local disk space but creating an ongoing per-seat subscription and potential data privacy risks for agencies handling sensitive client intellectual property. The compiled aw-server-rust backend keeps memory usage under one hundred megabytes, yet multi-workstation reporting remains decentralized. Each developer retains their timeline locally, making ActivityWatch an efficient personal diagnostic tool rather than a centralized employee surveillance platform.
Is ActivityWatch free for commercial use? Yes, ActivityWatch is free for commercial and personal use without seat limits, paywalls, or subscriptions.
ActivityWatch vs RescueTime: which is better for technical teams? RescueTime suits users seeking automated cloud coaching, whereas ActivityWatch is better for technical teams requiring strict local data privacy and minimal background resource consumption.
Can ActivityWatch sync data across multiple workstations? Synchronization between computers is possible using the experimental aw-sync utility or file sync tools like Syncthing, though it requires manual setup rather than a managed cloud account.
If you need an automated activity tracker that respects workstation resources and client confidentiality, ActivityWatch is an ideal solution; if your organization requires centralized employee timesheet approvals, it is not built for that role. Active development and an MPL-2.0 license ensure full legal and operational control over your telemetry without recurring seat costs. For engineering agencies that value performance and autonomy, running the local daemon provides accountability without compromising workstation efficiency.
Commands from the official package registries. Each package is matched to ActivityWatch through the registry's own link to its source code or website.
brew install --cask activitywatchwinget install --id ActivityWatch.ActivityWatch -eFree IDE for Java, Kotlin, Go, TypeScript and Python. Built on IntelliJ Community, fully open source, 300+ plugins.
Show that ActivityWatch is listed as an open-source alternative. Paste into your README: