Yes, there are no brightness change events, but reading the brightness is very fast so polling adds very little overhead.
For analytics I've just been using a plain nginx route that logs the request body to a static file, and I parse that using loki for further visualization in Grafana. I haven't found much value in that info though so I've decommissioned it after I migrated from nginx to Caddy. I'll remove the analytics request in the next update.
AFAIK there is no events for brightness change so this is why polling for main monitor brightness?
What are you using for analytics at "https://log.lunar.fyi?
I have been using [1] before, your app seems much more slick
[1]: https://github.com/KAMIKAZEUA/NativeDisplayBrightness