Timetracker is a set of command-line tools and a GUI tool designed to make my life easier when needing to breakdown the amount of time I spend on tasks. The tool is intended to be used in a Visual Effects studio running Linux.
Rather than tools that must be updated as you work, or access a file structure to determine the time taken on various tasks, Timetracker's approach is to passively "listen" to what the user does, and log the statistics to a personal database (located in the user's home directory).
This approach allows me to set a "daemon" process running in the background, while continue working as normal. Once I need to retrieve my desktop usage information Timetracker gives me a simple GUI and command line tool to access the recorded data for the last week, so I can remember what I worked on for the last week, and for how long.
Timetracker is intended to very flexible for any Linux-based environment. The tool was also designed to store data locally only.
The project gave me a chance to write an entire project in Rust, focusing on command-line tools with the SQLite database, multi-threading to avoid crashes, using bindings to the X11 window manager, and writing a simple GUI in Rust with the GTK Rust bindings.
Read more about timetracker on GitHub.