When we’re building a new feature at TalentLMS, one of the first questions we ask is: what events does this produce? For complex features, we run an Event Storming session – a collaborative workshop where domain experts, engineers, and testers map out the system together on a shared digital board. But turning that model into production code has always been the hard part.
In this talk, we walk through the full lifecycle of an event at TalentLMS – from the Event Storming session where we discover it, to the Excel sheet where the team defines its attributes and schema, to the code generator that turns that definition into validated PHP classes, Zod schemas, and AsyncAPI specs. We’ll show how we eliminated a manual, error-prone process by wiring GitHub Actions to do the heavy lifting automatically.
You’ll leave with a concrete example of how to treat your event catalogue as a living contract – one that teams contribute to in plain spreadsheets, and that your CI/CD pipeline turns into typed, versioned code with zero manual steps.