monoblokspeaks NATS, cleans noisy streams, and republishes actionable subjects

monoblok is a NATS-native message processor for signal conditioning, transformation, and routing. It can sit in front of existing publishers, subscribe to existing subjects already in NATS, or run standalone.

Define the processing rules you need in small patchbay config files, and monoblok republishes clean, actionable subjects for subscribers. Read why this can belong in an edge broker and also the comprehensive monoblok overview.

Fix noisy raw streams once, not in every subscriber: rounding, deadbands, squelch, aggregation, moving averages, OHLC, and derived alerts. It can sustain millions of msgs/sec on a single core. For ESP32 telemetry, tinyblok brings the same idea to firmware.

Try it now

Publish a sensor reading, watch a live monoblok process stream the derived subjects back over SSE, or read the latest cached stable value over HTTP. The public NATS demo runs on that same real monoblok, so this is not a mocked browser demo: you can also run nats pub in a terminal and see the subjects flow through here.

Ready

Subscribe

Publish

Latest value

Output

The demo.edn rules listen on demo.sensors.*. Values over 40 produce .overload; crossings over 50 produce .spike and .count. The latest value cache exposes the stable temperature at /latest/demo/sensors/temp/stable. YAML configuration is also accepted; see demo.yml.

Demo guide

Get monoblok

Run it as a lightweight broker, front door, or tap into an existing NATS cluster.

curl -fsSL https://raw.githubusercontent.com/lexvicacom/monoblok/main/scripts/start.sh | bash
docker run --rm -p 14222:14222 ghcr.io/lexvicacom/monoblok:latest --port 14222

© 2026 Alex Reid / Lexvica Limited. monoblok and tinyblok are MIT licensed and supported by the author.
Want to try monoblok on real streams? I can help scope and deliver a proof of concept. alex@lexvica.com