The home of event-driven software

Every system has a story.

Event Sourcing keeps every change as it happened – in order, in the language of your domain. This is where you learn how it works, find the tools to build with it, and meet the people behind it.

Model it.
Remember it.
Build on it.
Integrate it.
Learn from it.
The problem

Most systems know where they are. Not how they got there.

A typical database stores the current state and overwrites whatever came before. When someone asks what actually happened, why a value changed, or who decided what, the answer is no longer there.

What the database stores1 row
book 42available
What actually happened5 events
  • Jan 08book-acquired
  • Feb 02book-borrowedreader 17
  • Feb 23loan-extended+14 days
  • Mar 23book-returned5 days late
  • Mar 23late-fee-charged2.50 €
  • current stateavailable
The idea

The reader borrowed the book. The book was returned late. A fee was charged.

01

In order

Events happen one after another. The sequence is part of the meaning, just like in a story.

02

Driven by verbs

Every event says what happened, in the words the people in your domain actually use.

03

In the past tense

Events are facts. They are never changed or deleted, only added. The history stays intact.

What is Event Sourcing? →
From model to insight

Five stages, one story.

Every stage has its concepts, explained without selling anything. Where we have built a tool for a stage, you will find it right next to them.

Model it.

Find the events that matter, together with the people who know the domain.

Concepts
Domain-Driven DesignEvent Storming
Tool
ESDM CLI

Remember it.

Store every change as a fact, and derive the current state from it.

Concepts
Event SourcingCQRS
Tool
EventSourcingDB

Build on it.

Shape applications around the events, with clear boundaries and a functional core.

Concepts
Event-Driven ApplicationsEvent Handlers
Tool
ArchitectureKit

Integrate it.

Let systems talk to each other in events instead of calls.

Concepts
CloudEvents

Learn from it.

Turn the history into insight, for people and for AI.

EventSourcingDB

The database built for events.

Purpose-built for Event Sourcing: write, read, and observe events, with consistency guarantees and a tamper-evident history. From a Raspberry Pi to Kubernetes.

8client SDKs, from .NET to Rust
1binary for macOS, Linux, and Windows, on x86 and ARM
0events that can be changed unnoticed – each one is cryptographically chained to the one before
In the landscapeArchitectureKitESDM CLIEventSourcingDBAxon ServerCommandedCommanded EventSourcingDB Adaptercqrs-esESDM Visualizereventsourcingdb-esKurrentDBNimbusOpenCQRSExplore the landscape →