shouldivibecodeit

Should I vibe codeToggl Track?

Track time quickly, edit entries, and report by project, client, and tag

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

?

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

Can you build it?asked by canivibecodeit.com ↗KINDAweekend project · 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 usDEMO ONLYvibe the v0, throw it away.

The honest answer

why the verdict is what it is

Genuinely simple to build for personal use. The moment invoices are generated from these numbers, gaps and rounding become money conversations.

What actually breaks

not "if". the specific failures.

  • A running timer that survives nothing — a closed tab, a restart, a dead battery — and takes the afternoon with it
  • Timezones and daylight saving, so entries around the clock change are an hour out or duplicated
  • Overlapping entries, which a naive model allows and which make every report ambiguous
  • Rounding rules for billing, where per-entry rounding and per-day rounding produce different invoices from the same work
  • The habit, because a tracker you forget to start is a tracker that reports fiction
and then, at 3am

You work a long afternoon on a client task and close the laptop without stopping the timer. The browser tab was the only place the running entry existed — state in memory, written on stop — so the four hours are simply not there. You reconstruct them from memory the next morning, generously and inaccurately, and that reconstruction is what goes on the invoice. The tool did not lose data in any way it could report. It never had it.

Is that you?

the verdict is a default, not a law

ship it if
  • The running timer is persisted server-side the moment it starts
  • It is your own time and errors cost you nothing but tidiness
  • Entries are reviewed before anything is billed from them
don’t ship it if
  • The running timer exists only in browser or app memory
  • Invoices are generated directly from tracked time with no review
  • Entries can overlap and reports are computed by summing them
  • You store local timestamps without timezone information

If you build it anyway

the checklist, then the prompt that enforces it

  1. Persist the running entry with its start time the moment it starts, server-side. A timer that only exists in a tab is a timer you will lose.
  2. Store UTC plus the IANA timezone, and test an entry spanning a daylight saving transition.
  3. Decide whether overlaps are allowed and enforce it. If they are not, prevent them at write time rather than in reports.
  4. Make rounding an explicit, stated rule applied once at invoice time, not implicitly per entry.
  5. Add an idle-detection prompt and a maximum entry length, so a forgotten timer is caught rather than accumulating for days.
  6. Require review before billing. Tracked time is a record of intent as much as fact.
the guardrail prompt
Before you build a time tracker, apply these and push back if I ask you to break them.

1. Persist a running entry to the server the moment the timer starts, including
   its start timestamp. Refuse to hold running state only in browser memory or
   local component state, and tell me that a closed tab or a dead battery
   otherwise erases an afternoon with no error and no trace.
2. Store timestamps as UTC plus the IANA timezone. Write a test for an entry
   that spans a daylight saving transition in both directions.
3. Ask me whether overlapping entries are allowed. Enforce the answer at write
   time — if they are not allowed, reject the overlap rather than letting
   reports sum to more hours than exist.
4. Add idle detection with a prompt, and a maximum entry duration after which
   the timer stops and flags itself. A forgotten timer must not run for three
   days.
5. If time is billed, make rounding an explicit rule stated in the UI, applied
   once at invoice generation. Never round per entry and again per total.
6. Require an explicit review step before any invoice is produced from tracked
   time.
7. Keep an edit history on entries, so an adjusted entry shows that it was
   adjusted.
8. Make manual entry as fast as the timer, because retroactive entry is the
   common case in practice.
9. Out of scope unless I ask: team tracking, screenshots, activity monitoring,
   project budgets.
paste this before you build — not after something breaks24 lines · 1412 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

$10 a month is modest, and what it buys is a persisted timer with idle detection across every device you use. A personal tracker is one of the more approachable builds here — just persist the running entry server-side, because that single decision is the difference between a tool and a story about a lost afternoon.

$10/mo is cheaper than your weekend.

your exit plan, if you already built it

Export entries as CSV with UTC timestamps, timezone, project, and any billing flags. Time data is small, accumulates for years, and is frequently needed long after the fact for an invoice question — keeping a plain export makes the tool replaceable without argument.

prior art · someone already did this
Kimai

Mature open-source time-tracking application with projects, reports, and exports.

Questions

Why persist the running timer rather than just the finished entry?

Because the interesting failure happens between start and stop. If the entry is only written on stop, then every interruption — a crash, a closed tab, a battery — destroys work that was genuinely done. Writing the start immediately means the worst case is an entry with a missing end time, which is recoverable, rather than nothing at all.

Should overlapping entries be allowed?

Either answer is defensible, but it must be chosen and enforced. Allowing overlaps suits people who genuinely multitask and makes reports a matter of interpretation; forbidding them keeps totals meaningful. The failure is leaving it undecided, so overlaps happen accidentally and every report quietly overstates the day.

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.

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