Two languages sharing one queue without the serialization lock-in
GraduatedAn attempt to replace language-specific serialization with a frozen JSON envelope; it became BabelQueue, a polyglot queue standard.
- Started
- June 2026 — Ongoing
Technologies
This experiment became a product:
BabelQueueWhat I tried
The sneaky problem in polyglot architectures: one service writes to the queue
in its own language’s format (serialize() is the classic on the PHP side) and
a consumer in another language cannot read those bytes. The attempt was to
define a single envelope every language reads natively — without a sidecar or a
broker plugin in between.
What came out of it
A strict JSON envelope, frozen at schema_version 1, plus a reference
implementation running on Redis and RabbitMQ. The measurement target was
keeping the overhead under 2%, and the contract was written around one rule:
one language produces, another consumes, same bytes.
Where it ended up
The experiment grew into a specification and a multi-language SDK set. BabelQueue is now a standard with its own domain. Details in the portfolio.