What does it do for our domain?
Events speak the language of your business. They are found together with the people who know the domain, and they keep a history you can learn from later.
Speak the language of your domain
Events describe what happens in your business, in its own words. Domain-Driven Design and Event-Storming find them together with the people who know the domain.
Domain-driven design (DDD) is an approach to software design that puts the business domain at the center of the system.
Event-StormingThis guide introduces Event-Storming as a collaborative modeling technique for discovering and designing events in event-sourced systems. It explains the purpose of Event-Storming, how it fits into the software development process, and how it helps identify meaningful domain events that form the foundation of event-sourced systems.
Modeling EventsThis guide explains how to model events effectively in an event-sourced system. It focuses on naming, structure, semantics, and best practices for designing events that are expressive, stable, and aligned with domain behavior. Good event modeling is essential for building systems that are maintainable, auditable, and adaptable over time.
Write the model down
A domain model as files next to the code, checked by a linter and reviewed like any other change.
Learn from what happened
Since every event is kept, you can answer questions later that nobody asked when the system was built.
This guide explores patterns for performing time-based queries in event-sourced systems. Temporal queries are essential for understanding how the system has evolved, analyzing trends, answering retrospective questions, and reconstructing domain state at specific points in time.
Optimizing Event ReplaysThis guide explains how to optimize the performance and structure of event replays in event-sourced systems. Replaying events is a fundamental capability of event-sourced architectures. It allows you to rebuild state, regenerate read models, migrate data structures, or recover from errors. While the ability to replay is always available, doing so efficiently – especially at scale – requires careful design.
Posts on learning from eventsThe blog, on what events tell you long after they happened.
See it in real projects
How teams have put events to work, told by the people who did it.
Work with us
Workshops for modeling your domain together, training, and consulting.