While all the tracking was manual, and I tried to do it either in real time or by the end of the day (or at best the next day), it was useful to have some automated time tracking tools for double-checking in recall. For this, I use mostly Timing (https://timingapp.com/) and location tracking on my phone.
Now I use a custom entry system in Obsidian which lets me do more fine-grained reports (e.g, by project) and also has the advantage that I have one app less to worry about. I still have Timing to help with recall though. Some people use Timing exclusively - and it does have several advanced features and a nice UI!