ϟSUPERPOWER / 01
Objection: these don't match
Marshall compares the shape of every message he reads and names the ones that disagree — “totalCents is a string in 2 of these, a number in the other 12” — on the exact line. No model, no schema registry, no network: it is in the data, and it is usually why your dead-letter queue filled up.
✧⌘SUPERPOWER / 02
He draws you a chart
Where a topic's messages actually sit across its partitions: the one holding 90% of the traffic, and the one holding nothing while its neighbours are full. A hot partition looks like a slow consumer from the outside; this is what it looks like from the inside.
✧✳SUPERPOWER / 03
Reads without disturbing
On Kafka, reading is a seek: no consumer group joined, no offset committed, no topic created by accident. Point him at production and nothing notices.
✧ ⌁The whole story, for the curious.
A closer look at what makes Marshall MQ tick.
+
Marshall MQ is a native macOS client for Kafka and RabbitMQ. Topics with the depth they actually retain, consumer lag per group, dead-letter queues surfaced first, and every message readable with its key, headers and payload. He reads and never disturbs: on Kafka he never joins a consumer group, never commits an offset, and never creates a topic by asking about one — and on RabbitMQ, where looking at a message does leave a mark, he tells you before, not after. He compares the shape of every message he reads and names the ones that disagree, draws a chart of where your messages actually sit across the partitions, reads Avro through your Schema Registry, opens a consumer group with the verdict before the numbers — and when he can't see something, he says so: a group that never committed has unknown lag, not zero.