I've been interested in measuring the total amount of energy my desktop uses when running certain processes that are compute intensive - especially as it relates to execution time. [0]
This project uses the API behind a smart plug [1] and the start and end times of a process to compute joules and watts used by that process. It overlays the 'time' command to collect 'user' and 'sys' time information too!
Writing the program has been exciting explorations into shell built-in redirections and build setups for testing and releasing. [2]
It's also been useful in solving my initial interests and hopes!
[0]: https://o526.net/code/emporia-time/