SMF·RESCUETIME
Can a prompt replace RescueTime?
Time tracking — attention tracking and focus sessions
Exhibit tracking slip
Verdict
Passive capture plus a daily score plus a blocklist during focus sessions is a genuine one-sitting build with no third-party dependency anywhere in it — everything runs locally and needs no key, no account and no service. That makes it a yes. The confidence is medium rather than high for one honest reason: RescueTime ships a maintained classification of hundreds of thousands of sites and applications, and yours starts empty, so the first week is spent teaching it.
Exhibit A — The prompt
Received on31.07.2026Build a local attention tracker with a focus mode that has teeth.
Stack: a background recorder plus a local dashboard, SQLite, no network calls. Consider building on an existing open-source capture layer instead of writing OS hooks.
Capture: active application, window title, and input activity, sampled every few seconds, stored run-length compacted.
Classification: you define categories and assign a score from -2 to +2. Matching rules are ordered and the first match wins; each rule matches an application name or a window-title pattern. Ship **no** default classification — instead, ship a "classify the unclassified" screen that lists the applications and title patterns taking the most time so far, most time first, so ten minutes of work covers ninety percent of your days.
Daily score: time-weighted mean of category scores, shown next to the raw hours so it can never be read without its own denominator.
Focus sessions, the half that changes behaviour:
- Start a session of N minutes with a chosen blocklist of applications and domains.
- Blocking applications: detect the process and bring a full-screen reminder to the front rather than killing it — killing loses unsaved work and turns the tool into an enemy.
- Blocking sites: rewrite the hosts file, with the original backed up first and restored on session end **and on process exit**, including a crash. Test that path deliberately; a tool that leaves your hosts file broken after a crash is worse than no tool.
- A session can be ended early, but ending it requires typing a sentence you configured, and every early end is logged with the time and the elapsed portion. The friction is the feature; make it visible rather than punitive.
- After each session, a one-question prompt: did you do the thing you meant to? Store the answer.
Dashboard: today's timeline, category totals, score trend over four weeks, focus sessions completed against started, and the honest early-end count.
Privacy: pause control, per-application title redaction, raw-sample retention window, and a wipe command.
Write tests for first-match-wins rule ordering, for hosts-file restoration after an abrupt process exit, and for score computation with unclassified time excluded rather than counted as zero.
Do not build cloud sync, a mobile app, or a shared team dashboard.
Opening prefills the prompt — press enter to run it.
Exhibit B — What you lose
- B.1 the maintained productivity classification for hundreds of thousands of sites
- B.2 the mobile app and phone screen-time in the same picture
- B.3 cross-device history in one place
- B.4 the offline-time prompt that asks what a meeting was
- B.5 a signed desktop application and someone maintaining it
Prior art
Exhibit C — Why people still pay: maintained site classification
Because the classification is a decade of curation, and because a focus tool that you built and can trivially disable is a focus tool you will trivially disable.
Questions
Why ship no default categories?
Because inherited productivity ratings are wrong for anyone whose work is unusual, and a wrong score is worse than no score — you stop trusting the tool in week two. The "classify the unclassified, biggest first" screen gets you accurate in ten minutes.
Is hosts-file blocking not easy to bypass?
Trivially, and that is fine. The point is friction, not prison: adding three seconds and a conscious decision removes most reflex visits. What matters technically is restoring the file on crash, which is the one way this build can actively harm you.
Why exclude unclassified time from the score?
Because counting it as zero makes every score meaningless until classification is complete, and people give up before that. Excluding it and showing the unclassified share keeps the number honest.
Why is this a yes when so much of the category is not?
Because there is genuinely nothing third-party in it — no API key, no service, no data you must buy. It runs entirely on your machine, and that is exactly what a yes means here.
Related tools
Receipt