A common use of time trackers like ActivityWatch it to track the time worked and then use that as reports for invoicing/billing/employee monitoring. We’ve previously discussed how this isn’t a target feature for ActivityWatch (), since we want ActivityWatch to be user-first, and not something your employer tells you to use.
However, ActivityWatch now has grant funds to spend (yay!), and personally I have other projects where I’d love to be able to tell people: “If you work on this, I’ll pay you for your time. Just send me the matching ActivityWatch events when you’re done!”
This should be pretty easy to implement, as it’d only require the creation of a category and then an export/report of all events in such a category. (see the related issue on Implementing reporting)
Some issues:
- Related (but not project-specific) events would not be included.
- Example: while working on ActivityWatch I had to look up something on StackOverflow, which will match my ‘ActivityWatch’ category.
- Solution: Small gaps in the data (say <15min) will be counted towards the time. Not perfect, but a decent approximation.
- How should the exported events look? How can they be read?
- Maybe just export a CSV, as that is easier to import into a spreadsheet for analysis. This would be useful for other applications as well, and export to CSV has been requested before: Excel export function
The easiest thing would just be to implement this as a script that uses aw-client. Not very user-friendly, but would be good enough as an MVP. (DONE: Getting paid with ActivityWatch)