2025-08-29 –, Innovathens - Main stage
What happens when you stop storing the current state and start storing every change instead?
In this talk, we’ll explore how to build Python systems that are audited by design, event-driven at the core, and designed around CQRS and event sourcing. Using FastAPI, Celery, and a few familiar cloud tools, we’ll follow the evolution of a real-world architecture that treats raw events as first-class citizens.
We’ll dive into the fundamental questions:
• How do you model the world as a sequence of immutable events?
• What does it mean to replay the past—and why would you want to?
• Can you build a system that has no “current state,” and still serve fast, reliable queries?
• How do you scale such a system? Can it be consistent… eventually?
• How do you handle failures, race conditions, and fixes in a world where data isn’t just stored—it’s remembered?
• What does debugging look like when nothing is overwritten, and history is always available?
We’ll also touch on key design patterns—separating command from query logic, modularizing business rules with services and repositories, and how Celery can power a resilient pipeline for processing and projecting events.
You’ll leave with a deeper appreciation for the power of raw events, an understanding of what it means to treat event sourcing as a design philosophy, and a toolkit of questions to challenge the way you build your next Python backend.
I am a Senior Staff Engineer at Orfium, where I work with multiple teams and am responsible for the technical growth of engineers and software quality across the organization. Despite my Physics background, I found my way into software engineering through coding for simulations. This journey was accelerated during my Master's in Computational Physics, which opened the door to my first software engineering position. My experience spans simulations, security platforms, and music technology. I'v