Skip to content

Commit 4a97b60

Browse files
committed
Updated
1 parent 16b47c1 commit 4a97b60

File tree

2 files changed

+52
-22
lines changed

2 files changed

+52
-22
lines changed
Lines changed: 51 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# Video Script: Stop Guessing. Start Modeling.
22

3-
**Duration:** ~90 seconds
3+
**Duration:** ~2 minutes
44
**Tone:** Direct, confident, conversational
55

66
---
@@ -12,7 +12,7 @@ They fail because the team built the wrong thing — or built the right thing, b
1212

1313
---
1414

15-
## [PROBLEM — 0:10–0:25]
15+
## [PROBLEM — 0:10–0:22]
1616

1717
A product owner, a developer, and a domain expert sit in a meeting.
1818
They all walk out thinking they understood each other.
@@ -22,42 +22,72 @@ That's expensive. And it's avoidable.
2222

2323
---
2424

25-
## [WHAT IS IT — 0:25–0:45]
25+
## [WHAT IS IT — 0:22–0:38]
2626

2727
Event Modeling is a way to design systems using a shared timeline.
2828
Instead of describing what your system *is* — you describe what it *does*, as a story that unfolds over time.
2929

30-
It only uses three building blocks:
31-
**Events** — things that happened.
32-
**Commands** — things a user wants to do.
33-
**Read Models** — how the system informs the user.
30+
Three building blocks:
31+
**Events** — things that happened. `RoomBooked`. `PaymentProcessed`.
32+
**Commands** — things a user wants to do. `BookRoom`. `ProcessPayment`.
33+
**Read Models** — how the system shows the user what's going on.
3434

35-
That's it.
35+
---
36+
37+
## [THE FOUR PATTERNS — 0:38–1:05]
38+
39+
Those three blocks combine into four patterns — and that's the entire vocabulary.
40+
41+
**State Change** — a user fires a command, it gets validated, an event is recorded.
42+
*[show: CheckIn → CheckinCompleted]*
43+
44+
**State View** — events are projected into a read model the UI displays. Rebuild it at any time just by replaying the events.
45+
*[show: RoomAssigned + CheckinCompleted → Visitor read model]*
46+
47+
**Automation** — a processor watches a read model, picks up items, fires a command. No human involved.
48+
*[show: CleaningSchedule read model → ScheduleCleaning command]*
49+
50+
**Translator** — when an external system feeds you events you don't own, you translate them into your own language.
51+
*[show: GPS coordinates → GuestLeftHotel]*
52+
53+
Any workflow in any system is some combination of these four. Once you recognise them, you see them everywhere.
3654

3755
---
3856

39-
## [WHY IT MATTERS — 0:45–1:05]
57+
## [QUICK MODELING DEMO — 1:05–1:40]
58+
59+
Let's model something right now. A hotel check-in. Two slices.
60+
61+
*[screen: blank canvas]*
62+
63+
Slice one — Assign Room.
64+
Command: `AssignRoom`. It goes in, gets validated — is the room available? — and if so, we record: `RoomAssigned`.
65+
66+
*[show AssignRoom → RoomAssigned on timeline]*
67+
68+
Slice two — Check In.
69+
Command: `CheckIn`. We read the `RoomAssigned` event to validate the guest is expected, and record: `CheckinCompleted`.
70+
71+
*[show CheckIn → CheckinCompleted]*
72+
73+
Now the read side. We project `RoomAssigned` and `CheckinCompleted` into a `Visitor` read model — that's what the front desk screen displays.
4074

41-
Every workflow in your system follows the same loop:
42-
A command comes in, an event gets recorded, a read model gets updated.
75+
*[show events → Visitor read model]*
4376

44-
The language of the model is the language of the business.
45-
Developers, domain experts, product owners — everyone looks at the same canvas and understands it.
46-
Not diagrams written by developers for developers. A shared blueprint for the whole team.
77+
Two slices. A developer knows exactly what to build. A product owner can point at the screen and say "what shows up here?" Everyone's looking at the same thing.
4778

4879
---
4980

50-
## [BUSINESS VALUE — 1:05–1:20]
81+
## [BUSINESS VALUE — 1:40–1:52]
5182

52-
And here's why this matters commercially:
53-
Done right, Event Modeling keeps the cost of each new feature roughly constant — no matter how much has already been built.
54-
That means reliable estimates, predictable delivery, and no more "it depends."
83+
Done right, each new workflow step costs roughly the same — regardless of how much has already been built.
84+
Reliable estimates. Predictable delivery. No more "it depends."
5585

5686
---
5787

58-
## [CALL TO ACTION — 1:20–1:30]
88+
## [CALL TO ACTION — 1:52–2:00]
5989

60-
If you're building something where alignment matters — reach out to us at Novanet.
61-
We run workshops, and we're happy to help you get started.
90+
Reach out to us at Novanet if you'd like to explore this.
91+
We run workshops. We're happy to help you get started.
6292

6393
Stop guessing. Start modeling.

Novanet/2026/03/event-modeling.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -138,7 +138,7 @@ If you want to understand event sourcing more, I'd recommend [Martin Dilger's bo
138138

139139
You can absolutely do Event Modeling with sticky notes on a wall or on a shared whiteboard tool. For remote teams and more complex systems, dedicated tooling helps.
140140

141-
We're building [Cratis Studio](https://cratis.studio) specifically for this. It supports the full Event Modeling workflow — brainstorming, layout, team collaboration in real time, read model projections, and code generation for C# commands, events, and projections. The goal is to keep the model and the codebase in sync, rather than having the model become a historical artefact on a Confluence page nobody visits.
141+
I'm part of the a team building out something called [Cratis Studio](https://cratis.studio) specifically for this. It supports the full Event Modeling workflow — brainstorming, layout, team collaboration in real time, read model projections, and code generation for C# commands, events, and projections. The goal is to keep the model and the codebase in sync, rather than having the model become a historical artefact on a Confluence page nobody visits.
142142

143143
It's built on top of [Cratis Chronicle](https://cratis.io), an open-source event sourcing platform for .NET — so if you're going all in on the event sourcing side as well, the stack is coherent from design to deployment.
144144

0 commit comments

Comments
 (0)