One of the authors here. The neat thing about this set up is that these streaming examples are executing against a real stream processor in the browser.
The interactive examples were built using [Onyx](https://github.com/onyx-platform/onyx) and it's cross-compiled JavaScript sibling, [onyx-local-rt](https://github.com/onyx-platform/onyx-local-rt).
Distributed Masonry uses Clojure to build Onyx [1], an open source distributed batch and streaming platform. We also build a realtime application platform named Pyroclast [2] directly on top of Onyx. Our code base is written entirely in Clojure. The architecture we've ended up with is hands down the cleanest I've ever worked on.
We persist the IDs to disk with RocksDB itself when that happens, periodically pruning them away when the messages are complete. The Bloom filter is mostly an optimization - even though it does the job most of the time. You're right - we intentionally omitted further discussion of that piece.