Maxeda DIY
Maxeda DIY is the largest DIY retailer in the Benelux — 334 Praxis and Brico stores, 1.5 million customers every week, €1.4 billion in annual sales. When someone clicks “Buy” on praxis.nl and walks into a store two days later to collect a drill, a distributed system of AWS Lambdas talking over SNS/SQS made that happen.
I was brought in as a full-stack developer to work on that system — the order management and fulfilment domain — as part of a domain team responsible for everything from payment confirmation to click-and-collect handoff.
What I worked on
The core of my work was the order status feature: after a customer places and pays for an order, they need to be able to see where it is. Sounds simple. In a microservices architecture with asynchronous event flows between Lambdas, keeping that view accurate and up to date is a coordination problem.
I built the order status feature end-to-end — the backend logic that aggregates events from across the fulfilment pipeline, the React frontend that surfaces that state to customers, and the AWS infrastructure wiring it together. When a customer returns to check on their order, they see the current state pulled from the event stream in real time.
Beyond that feature, I improved Lambda error handling across the domain and introduced structured logging where there wasn’t any. When something breaks in an event-driven system and you have no logs, you’re debugging blind. Structured logging meant the team could trace what happened, in what order, and why — instead of guessing.
The Black Friday deadline
The order status work had a hard deadline: it had to be live before Black Friday — the highest-traffic day of the year for Maxeda’s e-commerce operation. That deadline focused everything.
The feature shipped with time to spare. Black Friday passed without incident.
For a system handling tens of thousands of orders at peak, “without incident” is the outcome. No outage. No missing statuses. No panicked rollback the night before the busiest trading day of the year.
Working in an event-driven system at scale
SNS/SQS fan-out between microservices makes it easy for things to go wrong in ways that are hard to reproduce. An order touches multiple services — payment, warehouse, store systems — each publishing and consuming events independently. Events arrive out of order. Lambdas fail silently. A customer sees a stale status with no indication anything went wrong. Causality is invisible unless you’ve built the tooling to trace it.