Build a time tracking app for your own billable hours
For a freelancer, untracked time is unpaid time. A personal time tracking app needs to start a timer in one tap, attach it to the right client and project, and produce a weekly total you can invoice from. Anticode can build that as an app in your browser, with a report you can export. Because it lives on one device, it suits one person, not a team.
What a freelancer's tracker has to get right
- Starting is instant. One button per recent project, so switching from one client to another is a single tap that stops the old timer and starts the new one.
- Forgotten timers are fixable. You'll leave a timer running over lunch. Every entry needs an editable start and end, and the app should warn when a timer has run for more than, say, four hours.
- Manual entries. Time worked away from the computer gets added after the fact with a date, a duration and a note.
- Billable or not. Admin, pitching and learning are worth recording but shouldn't reach an invoice.
- Rates. A default rate per client, overridable per project, so the report shows money as well as hours.
Structure: clients, projects, entries
| Thing | Fields |
|---|---|
| Client | Name, hourly rate, currency, colour |
| Project | Client, name, optional rate override, optional budget in hours, archived flag |
| Entry | Project, start, end (or duration), note, billable yes or no, invoiced yes or no |
The invoiced flag is easy to forget and saves the most trouble: once you've billed a week, mark those entries invoiced so next month's report doesn't include them again.
Reports and export
The weekly view should answer three questions at a glance: how many hours did I work, how many were billable, and how much is that worth per client? Add a date-range report for monthly invoicing, grouped by client then project, with notes listed so you can copy them into an invoice description.
Rounding
Decide rounding before you start, and apply it in the report rather than to the raw entries, so you keep the exact times. Common rules are to round each entry up to the nearest 6 or 15 minutes, or to round only the daily total. Whatever you choose, apply it the same way to every client and say so on your invoices if a client asks.
CSV export
Ask for an export of entries as a CSV file, with one row per entry and columns for date, client, project, note, duration in hours and amount. That opens in any spreadsheet, imports into most accounting and invoicing tools, and doubles as your backup. You can also ask for a print-friendly weekly timesheet if a client wants one signed.
Describing it to Anticode
"A time tracker for a freelance illustrator. Clients with hourly rates in pounds, projects under each client with optional hour budgets. One-tap start from recent projects, a large running timer, manual entries, billable toggle, invoiced flag. Weekly view with totals per client, monthly report with 15-minute rounding per entry, CSV export. Compact, works on phone and laptop." The model writes it as one app, and your clients, projects and entries are saved in that browser between visits.
If you want to track time against a fixed-price project, ask for a budget bar per project so you can see when a job has stopped paying. And if you invoice from the same data, the invoice generator page covers the other half; the two can be one app if you ask for both.
Why it suits one person, not a team
Anticode apps run in a sandbox with no network. Entries are stored in the browser where you made them, and nothing is sent anywhere. That makes the tracker private and simple, and it sets clear limits:
- One device. A timer started on your laptop isn't visible on your phone. Pick the device you work on and keep the tracker there.
- No team timesheets. Employees can't submit hours to a manager, and there's no approval flow. Team time tracking needs a shared database; use an established timesheet tool, or start from the Next.js export if you're having one built.
- No automatic tracking. It can't see which app or website you're using; it only records the timers you start.
- No calendar or accounting integration. It can't read your calendar or push hours to accounting software; the CSV is the bridge.
- Clearing browser data deletes the history. Export regularly.
Questions people ask
Does the time tracking app keep running if I close the tab?
A timer can be stored as a start time, so when you reopen the app it shows the correct elapsed time even though the page was closed.
Can I use it for a small team on one shared computer?
Technically yes, with a person field on each entry, but it's fragile. For more than one person, a team timesheet tool is a better fit.
Can I add tax or a currency per client?
Ask for a currency per client. Tax rules aren't built in; add tax when you invoice.