Event patterns we implement
Practical event-driven software architecture patterns delivered through project-based programming consulting.
From domain events to running handlers
We help teams replace synchronous call chains with published facts—without losing traceability. Typical patterns include transactional outbox, event-carried state transfer, and process managers for long-running sagas.
Ordering and consistency choices
Not every workflow needs global ordering. We document which aggregates require partition keys, where eventual consistency is acceptable, and how read models catch up after outages.
Schema governance
Versioned contracts live beside producer code. CI fails when a breaking payload ships without a consumer migration plan. Registry configuration (Confluent, EventStore, or self-hosted) is wired to your release process.
Failure design
Dead-letter queues, exponential backoff, and manual replay tooling are specified before go-live. Operators receive playbooks, not surprise pages at 2 a.m.
