Pull
docker pull ghcr.io/devset-io/devset-ce:latest
Devset is a small, local-first app for testing message-driven systems on Kafka and RabbitMQ. Built for engineers who want a real UI — and for everyone on the team who shouldn't have to write a script just to fire one message.
install
Devset ships as a prebuilt Docker image. Pull it, point it at your local Kafka or RabbitMQ and start testing. Frontend and backend run together out of the box.
docker pull ghcr.io/devset-io/devset-ce:latest
docker run -p 8082:8082 -v devset-data:/data ghcr.io/devset-io/devset-ce:latest
http://localhost:8082
Make sure your local broker (Kafka or RabbitMQ) is running. Then configure the
connection in Settings → Brokers inside the UI.
visual flow
The Flow Builder uses a node-based canvas where you drag stages, connect them visually and configure each step inline. Then fire the flow and trace every message from source event to delivery outcome — no scripts, no guessing.
add-to-cart
checkout
payment
confirmation
Each stage is a node. Click it to edit headers, payload and Function Studio logic. Wire stages together to define order. Set repeats, emits and conditions per stage. Run the whole flow from the same view.
Before a stage emits, it can query your database and inject results into workflow.state. Test with live rows — not hardcoded JSON you copy-pasted three months ago.
Multi-step event flows are hard to reason about in raw JSON or YAML. The canvas gives a spatial view of the whole pipeline — you spot gaps before you run.
User opens the storefront and starts a new local session.
{
"header": {
"eventName": "PAGE_OPENED",
"eventType": "user.page.opened",
"journeyStep": "1"
},
"payload": {
"sessionId": "cc6e6471-...",
"userId": 370282,
"page": "home"
}
}
The same user clicks into a product and enriches the payload.
{
"header": {
"eventName": "PRODUCT_CLICKED",
"eventType": "user.product.clicked",
"journeyStep": "2"
},
"payload": {
"sessionId": "cc6e6471-...",
"productId": 5417,
"productName": "Sneakers X",
"category": "shoes"
}
}
Cart data appears in the next event without losing previous context.
{
"header": {
"eventName": "ADDED_TO_CART",
"eventType": "user.cart.item.added",
"journeyStep": "3"
},
"payload": {
"cartId": "4d20f07c-...",
"productId": 5417,
"quantity": 1,
"cartValue": 233
}
}
The journey ends with a paid order event ready for consumer verification.
{
"header": {
"eventName": "ORDER_CREATED",
"eventType": "user.order.created",
"journeyStep": "4"
},
"payload": {
"orderId": "f82add80-...",
"paymentStatus": "PAID",
"paymentMethod": "CARD",
"orderStatus": "CREATED"
}
}
function studio
Function Studio is built into the Flow Builder and Message Dispatch. Instead of writing raw JSON, you define field-level transformations with a visual editor — set literal values, reference other fields, add conditions or generate dynamic data per field.
local-first
Devset connects directly to your local broker. No cloud relay, no hosted middleman. Every workflow run, every message, every schema lives in your environment. You see the full execution path — no hidden automation.
roadmap
A visible roadmap makes the project easier to trust and easier to contribute to.
faq
Yes. The product story is written around Kafka and RabbitMQ rather than one broker only.
No. Devset connects directly to your local broker. Nothing is relayed through external servers.
Devset runs in Docker. Point it at your existing local Kafka or RabbitMQ — no extra containers beyond the app itself.
Yes. All core modules — dispatch, flow builder, function studio, schema repo — are included in the CE without a paid tier.
FSL-1.1-Apache-2.0 (Functional Source License). You can read, modify and run the code freely. You cannot use it to build a competing commercial product. Two years after each release, that version converts to Apache 2.0.
Yes for developers. Devset is free for internal use, testing and development. The FSL restriction only blocks third parties from reselling Devset as a competing commercial product.
No. Compose payloads in the UI, configure field logic in Function Studio and fire messages without writing test scripts.
Open an issue on GitHub. PRs welcome too — the project is source-available.
get started
Connect Devset to local Kafka or RabbitMQ and send your first real message in under 2 minutes. No scripts. No cloud.