Tracks what you actually spend time on: an agent records the active application and site, categorises it as productive or not, and reports on where the week went.
Build me automatic time tracking that replaces RescueTime — and know why this is ALMOST. The idea is simple: watch what you use and categorise it. Two things make it work, and both are ongoing. **Agents on every platform you use**, each with its own way of reading the focused window, and **a category list somebody keeps current** as new applications and sites appear. Neither is hard; both are forever. And this watches everything you do, so read the privacy section before writing a line. STACK - A small native agent per platform: Swift on macOS, a Win32 hook on Windows, a compositor-appropriate approach on Linux - Node 20+ with Fastify for the server, SQLite through better-sqlite3 - A browser extension for per-site detail - Caddy in front, on a private network THE PRIVACY POSITION, WHICH COMES FIRST - This records what you are doing all day. That data is more revealing than most people expect, and it must never leave your own machines - Store the application name and the window title only if you choose to — the title often contains a document name, a customer name or a search query. Default to storing the application and the domain, and make the title opt-in per application - A pause button that is obvious and immediate, and a rule that private-browsing windows are never recorded - Local by default; a server only for a person to see their own data across devices - No team dashboard of individuals. The moment this is used to watch employees it is surveillance, and it stops being a self-improvement tool. Say so in the README and do not build the feature THE DATA MODEL - devices: id, user_id, platform, name, token_hash, last_seen_at - samples: id, device_id, at, duration_ms, app_name, bundle_id, window_title, domain, url_path, is_idle, is_private — one row per focused span, not per second - categories: id, name, parent_id, productivity_score — a small tree, scored from very distracting to very productive - rules: id, matcher_kind, pattern, category_id, priority — how an application or domain maps to a category - goals: id, kind, category_id, target_minutes, period, direction - alerts, sessions, and a daily rollup computed at query time rather than stored THE AGENT - Poll the focused window every few seconds and emit a span when it changes. A span, not a sample per second — the storage difference is enormous - Idle detection from the operating system's own input-idle timer, with a threshold; idle time is recorded as idle rather than attributed to whatever was on screen - Batched upload, queued locally when there is no network, so a laptop on a train loses nothing - Small and quiet: this runs all day and must be invisible in memory and processor use - The browser extension supplies the domain, because a browser window title is not enough. Per-host permissions rather than every site CATEGORISATION, THE PART THAT IS ONGOING - A seed list of common applications and domains with categories and scores - Rules by exact match, domain suffix and regular expression, with a priority so a specific rule beats a general one - Anything uncategorised surfaces in a short weekly list to be assigned. That list is the maintenance, and keeping it to a few items a week is the design goal - A category per project too, so 'time on this client' is answerable - Nothing is guessed silently. An unassigned span is shown as unassigned, not folded into a default WHAT IT SHOWS - Today, this week, this month: time by category, by application, by domain - A productivity score with its formula written next to it, because it is a weighted average of numbers you chose and it should not pretend to be objective - Focus sessions: uninterrupted stretches in a productive category, and how often they were broken - Context switches per hour, which is a better signal than any total - Time of day patterns, so you learn when your good hours actually are - Everything computed at query time GOALS AND NUDGES - A target per category per day or week, with progress - One notification when a limit is passed, never a stream - Never shaming. A tool that scolds gets uninstalled, and the point is information rather than discipline OPERATIONS - .env: DATABASE_PATH, BASE_URL, SESSION_SECRET, RETENTION_DAYS - Migrations on boot, each once; a stated retention with a sweeper - Nightly backup off the machine, encrypted - Health endpoint reporting each device's last contact WHAT MATTERS MOST Spans rather than samples, and the uncategorised list staying short. The first keeps it cheap; the second decides whether the numbers mean anything after a month.
What you lose
- Agents for macOS, Windows, Linux, Android and browsers, all reporting into one timeline
- A maintained categorisation of tens of thousands of applications and sites
- Focus sessions that actually block distractions at the system level
- Years of history to compare a bad week against
- Reports that survive the machine being reinstalled
If you would rather not build
- Timing — paid, macOS only, stronger reporting
- Toggl Track — paid, manual rather than automatic
What it costs
read from their page 15 Aug 2026
| Plan | Billed monthly | Billed yearly | Last read |
|---|---|---|---|
| — | $12/mo | — | 15 Aug 2026 |
Their pricing page is where these came from. Seeing a different price? Tell us.
The escape hatch
open source · no votes, no paid placement
ActivityWatch
$0Automatic local time tracking with watchers per platform and its own dashboard.
ActivityWatch/activitywatchfree · open source
Kimai
$0Time tracking with projects, rates, invoices and exports; runs on ordinary PHP hosting.
kimai/kimaifree · open source
Why this verdict
our own opinion · changed only by a person
60/100
Verdict kinda at 60: on one operating system this is a weekend, and keeping the data local is a real improvement. Cross-platform agents and a maintained category list for the whole software world are what the subscription actually buys.
History
tracked since 9 Aug 2026 · nothing is ever overwritten
Questions about RescueTime
answered from the record above
Is RescueTime free?
No — the plan we track is $12 a month. Premium at $12/month billed monthly, around $6.50 annually; a limited free tier tracks time without the focus features.
Can you replace RescueTime by building your own?
ALMOST. A weekend of work, and real gaps remain. Replacement score 60 out of 100, build time a weekend. Read what you lose before you decide.
How much does RescueTime cost?
$12 a month on Premium — $144 a year. Recorded 9 Aug 2026.
What do you lose by replacing RescueTime?
Agents for macOS, Windows, Linux, Android and browsers, all reporting into one timeline; A maintained categorisation of tens of thousands of applications and sites; Focus sessions that actually block distractions at the system level; Years of history to compare a bad week against; Reports that survive the machine being reinstalled. If any of those carry weight for you, keep paying.
Is there an open-source alternative to RescueTime?
Yes: ActivityWatch, Kimai. The prompt on this page is for when you want it your way instead.
Related entries
same category first, most replaced first
Every week, something stops being worth paying for.
New verdicts, prices that moved, entries added. One email a week. Unsubscribe in one click. Nothing is being sent yet — your address is kept here, and the first issue is the first thing it is used for.
free forever · no tracking pixel · stored here, never passed to anyone

