RescueTime

rescuetime.comcontributed by Samuele Ongaro

ALMOST

A weekend of work, and real gaps remain.

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.

Promptfree, for everyone, and the only version there is
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

PlanBilled monthlyBilled yearlyLast 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

$0

Automatic local time tracking with watchers per platform and its own dashboard.

ActivityWatch/activitywatchfree · open source

Kimai

$0

Time 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

Interest · last 30 dayspeak 2/day
views01230 Aug4 Sept9 Sept14 Sept19 Sept24 Sept28 Sept
— views— prompt copies none yet— votes none yet

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

All 18 in Time tracking & invoicing

Not sending yet

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

Esc