Open Source · MIT Licensed

Stop Losing Events.
Start Trusting Your Pipeline.

EventEngine is a schema-first event pipeline for Rails. Define events with a Ruby DSL, persist via the transactional outbox pattern, and deliver through Kafka or any transport. Never lose an event again.

app/services/place_order.rb
# One line. Full pipeline.
EventEngine.order_placed(order: @order)

# What happens under the hood:
# 1. Schema validated
# 2. Persisted to outbox (same transaction)
# 3. Published to Kafka
# 4. Dead-letter on failure

Event Systems That Break in Production

Lost events

Fire-and-forget publishing means when Kafka is down, events vanish.

Schema chaos

No contract between producers and consumers. Breaking changes ship silently.

Debugging nightmares

When something goes wrong, there’s no audit trail. No retry. No visibility.

EventEngine Makes Events Reliable

Outbox pattern

Events persist to your database first. Publishing happens after. Nothing is lost.

Schema-first

A compiled schema file is your contract. Drift detection catches breaking changes in CI.

Full observability

Every event is in the outbox. Retries, dead letters, and a dashboard — built in.

How It Works

Five steps from definition to delivery. No boilerplate. No glue code.

Define

Write event definitions using a clean Ruby DSL.

app/event_definitions/order_placed.rb
class OrderPlaced < EventEngine::EventDefinition
  input :order
  event_name :order_placed
  event_type :domain
  required_payload :total, from: :order, attr: :total
  required_payload :customer_id, from: :order, attr: :customer_id
end

Everything You Need for Reliable Events

Built for Rails. Battle-tested patterns. Zero boilerplate.

</>

Ruby DSL

Define events with a clean, declarative Ruby DSL. Inputs, payloads, types — all in one class.

Outbox Pattern

Events are persisted to your database before publishing. If your transport is down, events are safe.

Schema Versioning

SHA256 fingerprinting detects payload changes and auto-increments versions. Old consumers keep working.

Drift Detection

CI rake tasks compare your DSL definitions against the committed schema file. Breaking changes are caught before deploy.

Dead Letter Handling

Failed events retry up to max_attempts then move to a dead-letter queue. Inspect and replay from the dashboard.

Pluggable Transports

Ship with InMemory (dev), Kafka (production), or write your own. One interface: publish(event).

See It Working. Right Now.

No signup. No install. Emit real events, watch them flow through the pipeline, and inspect the outbox — all in your browser.

Launch the Demo →

Clean, Expressive Code

EventEngine fits naturally into your Rails app. No XML. No YAML. Just Ruby.

app/event_definitions/order_placed.rb
class OrderPlaced < EventEngine::EventDefinition
  input :order
  optional_input :coupon

  event_name :order_placed
  event_type :domain

  required_payload :order_id, from: :order, attr: :id
  required_payload :total, from: :order, attr: :total
  required_payload :currency, from: :order, attr: :currency
  optional_payload :coupon_code, from: :coupon, attr: :code
end

Monitor Your Pipeline

A hosted dashboard for your EventEngine deployment. Track every event, catch schema drift, and manage dead letters—without building it yourself.

Real-time Event Dashboard

Live stream of every event flowing through your pipeline with filtering and search.

Schema Catalog & Drift Detection

Browse every event schema. Get alerted when definitions change across deploys.

Dead Letter Management

Inspect failed events, view error details, and retry with one click.

Alert Rules

Set thresholds on failure rates, throughput drops, or schema violations. Get notified instantly.

Multi-app Monitoring

Connect multiple Rails apps to one dashboard. Compare event health across services.

Environment Comparison

Diff schemas between staging and production. Catch mismatches before they ship.

Simple, Transparent Pricing

Start free. Scale when you’re ready.

Open Source

Free
  • EventEngine gem (MIT)
  • Full DSL, outbox pattern, transports
  • GitHub Issues support
  • Community documentation
View on GitHub
Most Popular

Platform

Early Access
  • Everything in Open Source
  • Real-time event monitoring dashboard
  • Schema catalog & drift detection
  • Dead letter management & retry
  • Alert rules & notifications
  • Multi-app support
Request Access

Enterprise

Custom contact for pricing
  • Everything in Platform
  • Implementation consulting
  • Dedicated Slack channel
  • Event schema reviews on PRs
  • Performance monitoring & tuning
  • Priority support & architecture advisory
Contact Us

Frequently Asked Questions

Everything you need to know about EventEngine.

Ready to Make Your Events Reliable?

Get started with the gem or monitor your pipeline with the hosted platform.