Session

Powering Personalization: How we built our Generic Decision Engine

Generalization and personalization are at the core of how we build software at Picnic. Whether we are tailoring a customer's app experience, evaluating A/B tests, or resolving complex backend rules for stock and delivery slots, the underlying engineering challenge is exactly the same: orchestrating a decision based on context.

Over the last few years, we have been solving these problems in multiple places, making it increasingly difficult to manage them as the number and complexity of use cases grew. To address this, we built the Campaign Manager: a platform that orchestrates decisions, actions, and experiences.

In this talk, we'll explore the journey of building such a platform, from identifying common concepts across use cases to evolving its domain model as new requirements emerge. Through concrete examples, we'll examine the technical challenges and trade-offs of designing for multiple teams. We'll also share where our abstractions fell short, how unclear boundaries between the platform and its consumers created challenges, and what we learned about balancing flexibility with simplicity without creating abstractions that are hard to reason about.

Rick Ossendrijver

Software Engineer at Picnic

Utrecht, The Netherlands

Actions

Please note that Sessionize is not responsible for the accuracy or validity of the data provided by speakers. If you suspect this profile to be fake or spam, please let us know.

Jump to top