Time tracking for the one-person shop that invoices by the hour

Start a timer, get on with your work. When the invoice is due, the billed number is already worked out — at your rounding, on rows you can still fix.

No team seats, no approvals, no timesheet to file for somebody else.

The last ten minutes before an invoice

Filter the export to one client and one period. The total, the billed units and the amount recompute as you go, and every row stays editable — the file does not exist yet. It downloads as CSV, JSON or TXT, carrying Amount (true) for hours worked and Amount (units) for hours billed.

Rounding you can see

Pick your billing increment once, in Settings. Entries round to the nearest one, not up:

Billing increment 1:35 bills as
Tenth hour — 0.10 1.60
Quarter hour — 0.25 1.50
Half hour — 0.50 1.50
Full hour — 1.00 2.00

One entry, three numbers: a quarter hour bills five minutes less than you worked, a full hour twenty-five more. Worth seeing before the file leaves.

The rest of it

One line starts a timer
Type what you are doing and press start. Work you have done before is offered back as you type.
Categories are the client, tags are the work
Design homepage @Acme : Website #billable@category nests with a :, #tags are whatever you filter on later, and both autocomplete. A category keeps its colour through the dashboard, the stats and the export.
A dashboard that keeps up
The past twelve hours as a timeline, what is running now, today's total. Every change re-renders it — no reload, no stale total.
Your tracked time, in your calendar
Subscribe to your entries from any calendar app. Read-only, and it refreshes on its own.
Compare periods, and keep the streak
Any period against the one before it, and a year of activity with your current and longest streak. Top categories, tags and timers underneath.

Two fields to sign up, and you land on a timer.