ActivityWatch

Track how you spend your time. Privacy-focused & open source

#3 Product of the DayJuly 07, 2019
ActivityWatch is a cross-platform automated time tracker that helps you track and understand how you spend your time on your devices. It is different in that it keeps all your data private, is completely open source, and built to be extended and hackable.
Discussion
Would you recommend this product?
3 Reviews3.3/5
@dmitry_petrov1 Currently that's not possible no, but we are working on it. We have a MVP prototype which syncs databases between devices but it is a very rough prototype. So we have sync in mind, our design supports it and we have it planned but it will be a while until it's available. The reason for this is because we prioritize privacy and don't want to force the users to use a cloud service or have to pay a premium to use our product. We will probably start with a flexible solution where the user can choose to save the data to dropbox/google drive/owncloud depending on what the user prefers as that's the most simple solution and then after that maybe start working on a distributed peer-to-peer filesync a' la syncthing specifically for ActivityWatch.
@dmitry_petrov1 @johan_bjareholt it would be great if sync were end-to-end encrypted with an architecture like what inkandswitch has written about here: https://www.inkandswitch.com/loc...
@dmitry_petrov1 @johan_bjareholt @agentofuser I've read that and been in contact with the coauthor Martin Kleppman. In the current proposed design you could get completely end-to-end encrypted sync if you use an end-to-end encrypted syncing tool like Syncthing to sync the ActivityWatch synchronization folder.
My brother Johan and I have been building this in our spare time for several years. We wanted a cross-platform, open-source, and extendable, time tracker which doesn't require you to sacrifice your privacy. We've been meaning to post it to ProductHunt for quite a while, so here it is! Let us know what you think!
if I run it on multiple machines is there an option to sync the data?
I don't see why I should switch from RescueTime. I can track even more with the free version of RescueTime and have a lot of analytics and a handy API. I like the fact, that you decided to go open source though.
@jean_luc_winkler What more can you track with the free version of RescueTime? Last time I checked, we could track everything RescueTime could. We don't have all the features of RescueTime yet (we notably lag in visualization/categorization and cross-device sync), but we are getting there, and are also open source as well as offline- and privacy-first. We know we're not there yet to convert everyone (and likely never will), but we think we could & should try, for a better ecosystem. :)
@erikbjareholt RescueTime provides the categorization of the different tools / websites I use and calculates my productivity score. This score can be retrieved via the API for several scopes. Just knowing what I do is just data. Knowing how valuable the time is spent is knowledge and going a step further (beating your own productivity score as described in my blog post here: https://jlwin.co/rpi-dashboard) adds an actionable dimension to it. Besides that I can choose goals based on that productivity score which I can then keep track of again. Being offline and privacy first might not be a "better ecosystem" for all of your potential users. For me it is just a "different ecosystem". If I do not have the chance to query an API of a tool in order to use the data to match with other personal data and thereby generate actionable insights, it is not "better" for me (just my opinion).
@jean_luc_winkler I appreciate the feedback. We're well aware of what RescueTime does as we were users of it before we built ActivityWatch. Getting actionable insights from the data, through categorization and a productivity score, is one of our next steps (see the most requested features on our forum: https://forum.activitywatch.net/...). In the meantime, we're just a bit busy with other projects, which makes development on ActivityWatch a bit slow, but it's getting there. What I'm trying to say is that while we're not at a better ecosystem for most yet, it's where we think we are going (and for some we're already there). We've built prototypes for all the features of RescueTime that I know of and then some (apart from team usage), but there is some work required to get them into ActivityWatch which we have yet to do. And regarding the API: ActivityWatch does have an API you can query, and there are client libraries for several programming languages (Python, JavaScript, Rust) that make it easy. That dashboard you built with the RPi looks really nice! I've been building something similar in a notebook here: https://github.com/ErikBjare/qua... (unfortunately no pretty graphs in the preview, yet) We hope you'll revisit us in a year or two! Hopefully, we'll have built the things you're looking for then :)
@erikbjareholt sure, I really like the idea and think that a little competitiveness will help the market generate new usefull features. The RescueTime API is very comprehensive making it easy using the filter parameters to directly pipe the data to other tools without the need to transform them (calculation, filter, comparison, etc.) I could not find that in your API documentation. So for me the question remains: "why should I switch form RescueTime?" Which unique feature do you offer in order to convince an existing RescueTime user to switch? That should not be an offensive question, it is just a question I am asking myself here. I will for sure keep an eye on your tool - don't get my feedback wrong here :-) I am looking foreward to new features soon.