The folks from Beeminder (a goal-motivation SaaS) created a pile of Perl scripts nearly a decade ago called TagTime (
http://tagti.me), which shows pop-ups periodically (but randomly) asking what you're doing
right now, and feeds that into a time tracker. That tackles one huge issue with time tracking: you have to either diligently switch up your tracker every time you context-switch, or retrospectively guess at what you actually did, and how long you think you spent on it all. Random stochastic sampling gives a solid great long-term approximation of your activities and cumulative time spent, without guesswork or discipline.
I love the idea, but I need this to work on my computer, and my phone, and my other computer, and..., so I'm heeding their call to build a cloud-based version of TagTime. It pings the user via various channels (SMS, Web Push, Slack, etc.) and feeds their responses into Beeminder, Toggl, and IFTTT.
I'd love to add TimeTagger to the list of supported integrations, since the demo app looks really compelling for the way I think about tracking time.