Reconstructing project hours as a freelancer

At the end of the month you need to reconcile project time for a client. Open Hina and the time under the client name you want to report may be short, while a temporarily cloned repo and a folder named with the client’s code each hold part of the time. Manual timing is the most accurate, and the most common case is remembering halfway through that you never started it. The stretch you forgot can be brought back as a reference from the apps, window titles, and Trail recorded on this Mac. The temporary repo and the code-named folder show up as separate projects under their own folder names, and Rename or merge projects can fold them into the client’s project. The CSV is for checking segment by segment. You assign the time to the client in your spreadsheet by title or path.
Manual timing records the time you choose, but is easy to forget
Start a timer on its own and stop it when you finish. That stretch is the one you decided to report to the client, and a contract or a weekly report usually wants that number. The trouble is that the timer does not know you have sat down at the computer. Revise a proposal, reply to an email, or open the repository for the client’s website, and if you forgot to press start, the time after that is blank on the timer.
If Hina is open in the menu bar, the stretch where you forgot to press start still records the apps you used, the duration, and the input count. The input count is only a count. It does not record keystrokes. On Trail you can see, in order, the switch from Figma to the browser and then to mail. What it gives back is a clue to roughly what you were doing, not a timesheet already checked with the client. You still mark which stretch counts toward this project.
Automatic records are a reference, not a timesheet
To match one client, the app name alone is often not enough. Figma, mail, and a browser are apps anyone uses. Window titles and page paths appear in the record only if you turn on Record window titles and page paths on the Privacy tab of Settings. A URL keeps the scheme, domain, and path, and leaves out the parameters after the question mark. A proposal filename, or a directory segment in the client’s site path, makes it easier to assign that time back to that client. If it does not match, leave it blank. Do not guess in order to fill the day.
A meeting on your phone, a draft you printed and revised, and any gap when Hina was not running do not appear on Trail. Hina can fill in only the apps and window titles on this Mac while it was open. Hours that left no record have to be found in your own timer or notes. Do not try to fill them in from the records on this computer.
Fold a client’s folders into one project
If a project Hina has already recognized is still a temporarily cloned repo, or a folder named with the client’s code, Hina shows it under that folder’s name. It names a project after the repository or folder that shows up in window titles and agent session directories. To use the client’s name instead, open Rename or merge projects on the Data tab of Settings, enter the project name or a folder path starting with / or ~, then the project it counts as, and every earlier day’s project cards, reports, search and command line are recomputed under the new name. A stretch that is in no project stays on its app, a rule does not pull it in, and the original records already stored in the database are not changed. When two folders belong to one client, write one rule for each that counts it as the same project.
Duration that last month was split across two folders shows as two rows on the project cards in Week view and Month view until you write a rule, and you add those rows together for the client. Once the rules are in, they become one row under the client’s name, last month included. A day runs from 4:00 a.m. to 4:00 a.m. the next day. If you are still revising the same proposal past that point, the records fall on two days. When you reconcile, open the project cards for both days. If the contract settles by calendar day, do not read the date only from midnight on the calendar.
Export a CSV and leave the bill to your billing tool
When you need to check segment by segment, the exported CSV is the raw record, one segment at a time. The columns are start and end time, app, window title, document path, and input count. There is no project column. In your own spreadsheet you can assign rows to the client by window title or document path. Which rows count for this client, which are your own matters, and which are communication with another client, you sort out in the sheet. For duration already totaled by project, go back to the project cards in Week view and Month view.
Hina does not generate an invoice for you, and it does not calculate what a client owes. Rate, payment terms, and tax stay in the billing tool you already use. When you need a bill, enter the hours you settled in the spreadsheet into that billing tool. If the contract settles by person-day or by the hour, the number you enter is the figure in the column you and the client have already agreed on.