Great job @kristofer. I like the simple design.
I hope you enjoyed learning Motoko but Rust canisters can also make async calls on timer events, see e.g. the answers in this recent thread: How to Subscribe to Ethereum Contract Events in ICP.
Enjoy your vacation!