I've gotten quite carried away with a web interface and custom on-disk (on-sd card?) storage format based on Facebook's Gorilla paper.
I've realised that where it'll be deployed it will only have access to a public guest WiFi, so a remote server hosting the dashboard makes sense. So now it sends the compressed time-series over a TCP connection to a server component, hoping to bypass WiFi captive portals. Might need to use UDP to make it look like DNS or perhaps NTP. I haven't tested it on-site yet.
It has been a very fun and rewarding project so far. Looking forward to deploying it and getting remote updates working if I can get it to work with Tailscale on the guest WiFi. If anyone has any tips on circumventing captive portals and sending really small amounts of data through, I'd love to hear it!