The freelancer who invoices from memory is the one who consistently undercharges. Not because they worked less than they thought — because the context-switching that happens on every working day produces fragmented time blocks that feel continuous in memory but are shorter in reality. Four hours of focused client work plus two hours of email and revisions reads as six hours of billable time only if both are billable, and only if you have a log.
Six Fields, No Wasted Space
Date, Project, Activity, Start, Stop, and Duration — this template is deliberately minimal. The discipline of time tracking collapses not from insufficient features but from friction. Every additional field that requires input before the timer starts is a reason to delay logging, and a delayed log becomes an estimated log, which becomes a wrong log.
Project and Activity create the two-level hierarchy that matches how most freelance and small agency work is actually structured. The project is the client engagement or the named deliverable. The activity is what you were doing within it — research, drafting, revisions, client calls, administration. A log that only tracks project without activity produces correct project totals but hides the distribution of effort within the project. If revisions are taking 40% of a fixed-price project's hours, that information changes the next proposal.
Start and Stop with automated Duration calculation remove the arithmetic that most people do wrong when they're tired. An entry started at 9:17 and stopped at 11:43 should produce 2h 26m automatically. Requiring manual entry of duration introduces the two-hour-fifteen-minute mistake that compounds across a month of invoicing.
The automation script that marks entries as complete based on status changes means the log doesn't require a manual closing action for every entry — a frequent failure point in time tracking systems where an unclosed timer from Tuesday lunch is still technically running on Wednesday morning and corrupts the duration record.
A month of TimeTrax entries produces three immediately useful outputs: total hours by project for invoicing, total hours by activity for internal capacity analysis, and a daily pattern of start and stop times that reveals whether the stated working hours match the actual working hours. Most freelancers find the actual hours either significantly shorter or longer than the estimate — both are actionable information.