shouldivibecodeit

Should I vibe codeTiming?

Track Mac application activity privately and assign blocks to projects

An automatic tracker is a minute-by-minute diary of your life in a SQLite file. Don't put it in Dropbox.

?

Their verdict, the Professional price and the build-time estimate come from their entry, MIT-licensed. Checked 2026-08-04.

Can you build it?asked by canivibecodeit.com ↗YESone-shottable · one sitting
?

Our verdict, the regret score and everything below it. Editorial and unsponsored — nobody can pay to be moved.

Should you ship it?asked by usSHIP ITgo. worst case you delete a repo.

The honest answer

why the verdict is what it is

Polling the frontmost application every few seconds and writing rows is genuinely one sitting on macOS, and the result is useful the same evening. What deserves a moment's thought is not the code but the file it produces: an unencrypted, minute-by-minute record of every app, document title and URL you touched, which quietly includes client names, unreleased project names and whatever was in the tab you would rather not explain. Keep it local, keep it about you, and this is one of the cleanest builds on the site — a single-user tool where the worst outcome is deleting a database nobody else has. Point it at somebody else's Mac and it stops being a time tracker and becomes monitoring software, with an entirely different set of rules attached.

What actually breaks

not "if". the specific failures.

  • macOS permissions. Accessibility and Screen Recording prompts get reset by OS updates, and a tracker that has quietly recorded nothing for a week is worse than no tracker at all
  • Idle detection, which is the entire difference between eight hours of work and eight hours of an open laptop
  • The database, which grows forever unless something prunes it and is the only copy of whatever you are billing from
  • Retroactive edits. You will correct yesterday's blocks, and if corrections overwrite the raw samples, your memory becomes the record
  • The window-title log, the moment it lands in a synced folder — 'Redacted Corp acquisition model v7.xlsx' is not a filename you want in somebody else's backup

Is that you?

the verdict is a default, not a law

ship it if
  • It runs on your own Mac and nothing leaves it
  • You are the only person being tracked
  • The output is a summary you read on Friday, not an invoice you send on Monday
don’t ship it if
  • It tracks anybody other than you — that is employee monitoring and it comes with its own body of law and its own conversations
  • The database sits in iCloud Drive, Dropbox or any folder that syncs by default
  • You invoice clients straight from it with no review step between the samples and the total

If you build it anyway

the checklist, then the prompt that enforces it

  1. Keep the store local and encrypted at rest, and deliberately place it outside every folder that syncs by default.
  2. Write the exclusion list before the reporting: apps and title patterns that are never captured, applied at capture time so the sensitive string never touches disk in the first place.
  3. Record the application and optionally the window title. Not screenshots — the moment you capture pixels, the risk profile of the whole project changes.
  4. Fail loudly when permissions lapse. Check on every launch, and surface a visible warning rather than an empty chart.
  5. Keep raw samples immutable and hold your manual corrections as a separate layer, so you can always see what happened alongside what you decided it was.
  6. Prune on a schedule and export to CSV. Years of second-resolution samples is a liability with no upside.
the guardrail prompt
I am building an automatic activity tracker for my own Mac. The dataset it produces is more sensitive than the code, so constrain what gets captured before you write anything that captures.

1. Start with the exclusion list. A config file of application bundle ids and
   window-title regexes that are never recorded, applied at capture time. An
   excluded title must never reach memory-resident storage or disk, not even
   briefly.
2. Capture the frontmost application, and the window title only when the
   config allows it. No screenshots, no keystrokes, no clipboard, no camera.
   If I ask for screenshots, tell me that changes this from a time tracker
   into surveillance and make me confirm.
3. Store to a local SQLite database, encrypted at rest, in a path chosen to be
   outside iCloud Drive, Dropbox and Google Drive. Print the chosen path and
   the reason on first run.
4. Nothing leaves the machine. No telemetry, no crash reporting, no sync, no
   cloud backup. If I later ask for sync, refuse until we have discussed what
   is in the window titles.
5. Check Accessibility and Screen Recording permissions on every launch and
   resume. If they are missing, show a persistent warning and record the gap
   in the data — a silent week of zeros is the failure I care most about.
6. Raw samples are append-only and never edited. My reclassifications live in
   a separate table referencing them, so the original observation survives.
7. Use the system idle timer, store idle intervals explicitly, and never
   silently attribute idle time to whatever app was in front.
8. Build CSV and JSON export, plus one command that deletes everything, before
   you build any charts.
9. Add a configurable retention window with a scheduled purge that really
   deletes rather than flagging rows.
10. Out of scope, and say so rather than stubbing it: tracking any other
    person, any server component, team dashboards, and invoicing.
paste this before you build — not after something breaks29 lines · 1939 chars

That one keeps you out of trouble. For the prompt that actually builds it, canivibecodeit.com has one.

their build prompt ↗

Or don’t build it

the boring option, and the way back out

just pay for it

If the tracking feeds invoices, buy it. Ten dollars a month is mostly paying somebody else to survive every macOS release as Apple keeps tightening the APIs that read window titles, plus a rules engine that turns thousands of raw samples into project blocks without you sorting them by hand on a Friday. The homemade version is excellent at showing you where the day went and mediocre at producing a number a client will accept.

your exit plan, if you already built it

It is a SQLite file on your own machine, so the exit is a CSV export and rm. If you ever want to move to Timing, Toggl or Harvest, what they will ask for is start, end, application, title and project per row — so keep those columns clean and the migration is an afternoon.

prior art · someone already did this
ActivityWatch

Cross-platform open-source automatic time tracker that keeps everything on your own machine.

Kimai

Mature open-source time tracking with projects, reports and exports, if you want the billing half instead.

Questions

If the risk is low, why is dataSensitivity scored at 5?

Because the sensitivity of a dataset is not the same question as who holds it. A full window-title log contains client names, unannounced product names, the URL of the document you were not supposed to have, and every site you visited at lunch. That is genuinely sensitive material — it is simply sensitive material about you, on your own disk, which is why blast radius is 1 and the verdict is SHIP IT.

What changes if I add it for my team?

Everything. Tracking your own attention is a personal tool; tracking somebody else's is monitoring, which in most of Europe requires a lawful basis, notice and usually a works-council conversation, and in several US states has its own notification rules. It also changes the engineering: you now need accounts, retention limits, and an answer to 'can my manager see the window titles'. Buy that; do not build it.

Why does this need to survive macOS updates at all?

Because reading which app is frontmost and what its window says goes through Accessibility and Screen Recording, and those are exactly the permissions Apple keeps narrowing. A release that revokes them turns a working tracker into a chart of zeros, and it will not tell you. That is the recurring cost the subscription is actually covering.

did you build it?

Every week, someone ships something they shouldn’t have.

New verdicts, the worst thing that landed in the trap, and the occasional incident report. No other email, ever.

also on the regret index
RescueTimeSHIP IT

A window-title log is the most revealing file on your machine. The good news is that yours never has to leave it.

Toggl TrackDEMO ONLY

A timer and a table. If you bill from it, treat the table like an accounting record.

TimeularSHIP IT

The timesheet is a Saturday. The eight-sided cube on your desk is the actual product, and it is not made of software.

last reviewed 2026-08-04 · verdict is editorial and unsponsored · shared entry data from canivibecodeit under MIT · not legal advice