Nice, I'm building something similar with TTN - using Haskell to glue MQTT/SQL/WebSockets to be able to stream data from sensors and also optionally store data in timescaledb. For web fronted I really want to try miso (https://haskell-miso.org/).
Unless you're targeting consumer you might want to be careful with tech like web-sockets. After a decade of using sensors in industrial facilities I've come to appreciate the value of on-device buffers and transactional logging systems that don't maintain persistent connections. Real-world environments are unfortunately really tough on technologies designed for browsers.