I’ve used this too, and for quite a long time. Very happy with it. State can be synchronized, which makes it easy to use across multiple devices.
I switched to this from my own algorithm which I mentioned here about a decade ago. https://news.ycombinator.com/item?id=2431480