Hours that match what actually happened.
Live timer for now. Manual entry for yesterday. Daily check-in with real consequences. Pay that everyone can audit.
Hours estimated on Friday afternoon aren't hours.
Friday-afternoon math.
People remember half of the week and round the rest up. By Monday the numbers don't match anyone's calendar — and the rate sheet pretends they do.
Pay disputes nobody can resolve.
Did the overtime happen? At what multiplier? Started when? Without a log nobody can answer — and every dispute eats the same two-hour meeting.
Late check-ins become normal.
Soft reminders stop registering after the third week. There's no consequence, no escalation — so the pattern hardens until someone has to have The Conversation.
Timer for now. Manual entry for yesterday.
Hit start when you sit down. Type the hours when you remember. Both write to the same log — so the day always adds up.
Hours pay differently across the day. Set it once.
Define normal, evening, late-night, holiday blocks — each with its own multiplier. Every log auto-categorizes by when it started, so the math at the end of the month isn't a debate.
Late once: penalty starts. Late again: it compounds.
Soft reminders stop landing. So we don't use them. Configure expected time, grace, initial penalty, and step interval — the math runs automatically and is visible to the whole team.
Your rate is yours. The hours belong to the team.
Rate visibility is enforced at the database level — every member sees their own, admins see everyone's, and no peer can see anyone else's. Reports run on the cutoff day you choose.
What teams ask before they turn on time tracking.
Don't see your question? Reach out — every message gets read.
Talk to a humanYes — you can edit your own logs (date, hours, period, description) and the change is recorded with an updated_at timestamp. Admins can edit any log in their workspace.