I wanted to see how far you can push AI coding without touching a single line of code. I asked an LLM to build a small to medium scale RabbitMQ alternative that is easy to run and easy to configure. The result is StrangeQ.
What it is
- An AMQP 0.9.1 message broker in Go that RabbitMQ clients can talk to
- Direct, fanout, topic, and headers exchanges
- Persistent and non persistent messages
- In memory or BadgerDB based disk storage
- SASL auth, transactions, Prometheus metrics
Why you might care
- Works with existing Go, Python, and Node AMQP clients with no code changes
- Single binary, minimal flags, or a short JSON config
- Quickstart shows hello world publishes in each language
How I built it with AI
- Scope. Pin to AMQP 0.9.1, RabbitMQ client compatibility, simple config, and metrics
- Protocol skeleton. Frame parsing, handshake, channels, basic flow control, and small state machines for exchanges and queues
- Storage. Start in memory for speed, add Badger for durability with a clean switch via flag or config
- Compatibility tests. Client snippets for Python, Node, and Go to sanity check behavior
- Operability. One command to start, systemd unit, Prometheus on a fixed port, simple logs
- Benchmarks. Microbenchmarks for publishes and declarations, keep only stable results
- Paper cuts. Iterate on auth, transactions, and helpful errors with sane defaults
- Roadmap. Short list in the repo tracks done and next
What still needs work
- Durability tuning
- More torture tests
- Richer metrics and dashboards
- More examples
Try it
- Clone the repo and build
- Start in memory for quick tests
- Or start with Badger for persistence
- Use the client examples to publish right away
Repo
https://github.com/maxpert/strangeq
I would love feedback on client compatibility and real workloads.
AIs used: Qwen (for maybe early 3-4 commits) too many timeouts and errors, so I decided to move to Claude