Skip to content
Hina
Preview Features Price Articles
English
English 简体中文
Download

Articles

ActivityWatch alternative for Mac: what Hina does differently

Time tracking · October 19, 2026 · 6 min read

If you want an open-source tracker you can extend, with raw events you can read and builds for Linux and Windows too, ActivityWatch is the better pick. If you want a Mac-only menu bar app that turns the day into a report with no server to run, Hina 0.6.0 is built for that. They record similar things, the foreground app and whether you are active, and differ mostly in who does the assembly afterwards.

What ActivityWatch is and what it does well

ActivityWatch is a free, open-source tracker under the MPL-2.0 license, with builds for Windows, macOS, Linux and Android. Its documentation says you are by default the sole owner of your data, and the README describes storing it on your own machine. It is made of small parts: watchers that record events, a server that stores them, and a web interface that draws them.

The default watchers are aw-watcher-afk, which watches mouse and keyboard activity to decide whether you are at the computer, and aw-watcher-window, which records the active window, its title and, on Chrome-based browsers and Safari, its URL. A separate browser extension, aw-watcher-web, records the active tab in Chrome, Edge and Firefox. On top of that the project lists a REST API for buckets, events and heartbeats, a query language, and JSON export from the web interface.

That architecture is the real strength. If you want to write your own watcher for an editor, build a custom query, or read the raw events, ActivityWatch is designed for it. Hina is not: version 0.6.0 has no plugin system and no server API, only a command line and a CSV export.

Setting up ActivityWatch on a Mac

The getting-started guide says to download the .dmg and drag the app to Applications. Since v0.14 there are separate builds for Apple Silicon and Intel, and it needs macOS 12 or later. The aw-qt app puts an icon in the tray and starts the server and the default watchers, and you open the web interface at http://localhost:5600. Data appears in the Activity view within a few minutes.

For window titles, the aw-watcher-window README says the process needs access to the macOS accessibility API, and that without it the watcher records the current application but not the title. The README describes adding Terminal to that list when you run the watcher from a terminal; with the packaged app, open System Settings, Privacy and Security, Accessibility after the first launch to see which ActivityWatch entry needs approving.

Two details are worth knowing early. The afk watcher treats three minutes without input as away by default. And the watcher's privacy filter, which drops or redacts events by title or app name through a toml file in the watcher's config folder, which on a Mac is ~/Library/Application Support/activitywatch/aw-watcher-window/ rather than the Linux path ~/.config/activitywatch/aw-watcher-window/ the README shows, cannot be applied by the default swift strategy on macOS, and with a filter configured the watcher refuses to start under swift so titles are not leaked; the README says to use the jxa or applescript strategy. Autostart is off by default for aw-qt.

How Hina differs

Hina is a menu bar app for macOS 15 and later. It samples the foreground window every 3 seconds, treats 180 seconds without input as idle, and stores merged sessions in a SQLite file at ~/Library/Application Support/Hina/hina.sqlite. It asks for one permission, Accessibility, and takes no screenshots and asks for no screen recording. Window titles and page paths stay off until you turn on Record window titles and page paths in Privacy settings, and browser URLs are cut to scheme, host and path before they are stored.

Input is recorded as counts of key presses, clicks and scrolls, never what you typed. On top of the sessions Hina builds the Day, Trail, Week and Month views and a daily report. The report can read local git repositories you choose and, only if you switch each on in Settings, agent session history and shell history. A fresh install scans no repository folders until you pick them.

When Hina cannot tell what a long gap was, it asks once when you return. If the screen did not move for between 10 minutes and 2 hours, a small card offers Meeting, Reading / thinking, Watching or Away, and your answer reclassifies that stretch. Locked screens and sleep are not asked about. ActivityWatch's afk watcher flags any stretch of 3 minutes or more without input as AFK, away from keyboard, and the default watchers do not ask what it was.

There is no local web server in Hina. The app reaches the network in exactly three places, each only when you click: the checkout page in your browser, one request to activate a purchased key, and Check for Updates, which reads a static version file on hina.day. None of the three carries activity data.

Choosing between them

Pick ActivityWatch if you also use Linux or Windows, want Android tracking, want to script against raw events, or want a whole stack of open-source code you can audit and modify. Pick it too if a localhost dashboard and some assembly sound like a feature rather than a chore.

Pick Hina if you are on a Mac and what you want at the end of the day is an answer to what you did and what came of it: time by project, deep work blocks, local commits and, if you allow it, which agent sessions were open on which repository, without keeping a server running. Hina is a paid app with a trial, and the current terms are on hina.day. It runs only on macOS in 0.6.0.

Neither proves productivity. Both record the foreground app and your activity, which is a proxy for what you did. The sibling articles on private activity tracking and on tracking time without screenshots go further into that boundary.

Moving over and checking the result

Hina does not import history from other trackers, and its Trail starts on the day it begins recording, so treat a switch as a fresh start. A practical test is to run both for a week. Both count you as away after three minutes without input, measured back to your last key press or click, so their active totals should land close. A large gap usually traces back to a changed afk timeout, a permission that was never granted, or a stretch one of them did not see because it was paused or not running.

If titles are missing in either tool, check Accessibility first. In Hina the banner reads Allow Accessibility in System Settings so Hina can see window titles, and on macOS 27 the permission is named Device Control and Data Access. If a day looks empty, confirm the app is running and not paused before looking at anything else.

Hina keeps a local record of your workday, with no screenshots and no account, so you can see where the time went.

Download for Mac

Keep reading

  • Time trackingChoosing a Mac time tracking app by how it recordsOctober 18, 2026 · 4 min read
  • Time trackingWhat to check when a report has a gapOctober 17, 2026 · 5 min read
  • Time trackingToggl or Clockify alternative on a Mac: when automatic records are enoughOctober 19, 2026 · 6 min read

Hina · 賞

See your time, revisit projects, and take breaks.

Product Download Articles Releases Buy
Support Purchase help Privacy Refund
Connect hi@hina.day X Tw93