Architecting personalization: a scalable recommendation engine for Macy's.
A unified decision layer that took recommendations from page-by-page widgets to one architecture spanning search, PDP, cart, and post-purchase.
Macy's recommendation system had grown one page at a time. The PDP, search results, and cart each shipped their own ranking model, and none of them shared signal — so a customer could see contradictory suggestions inside a single session.
I led design for the shift from page-by-page widgets to one decision layer: a shared model for signals, governance, ranking, and trust that every surface could render against the same component vocabulary.
Every page recommending in isolation.
The problem wasn't the algorithm.
It was the surface around it.
From siloed widgets to a unified decision layer.
Legacy systems operated on a page-by-page basis. The PDP had no context of what was seen on the search results page, and the cart had no memory of either. Each touchpoint shipped its own ranking model and produced contradictory suggestions.
The new architecture treated recommendations as a single decision — signals, governance, ranking, and trust — that any surface could query and render against shared design tokens.
A four-tier architecture: signals, rules, ranking, and trust.
One framework, four organizations.
Shipped in 2022.
Revisited in 2026 with AI.
What this project would look like if I shipped it today.
After Macy's launched, I went back and re-ran two phases of the work with AI in the loop, to see where it actually accelerated me and where it didn't.
Claude was strongest in synthesizing merchandiser interviews and behavioral analytics into the four context dimensions — work that took two weeks the first time around, and a few hours the second.
Figma Make let me prototype the cart overlay as a working component with live state, which made the 18ms latency target a design constraint instead of an engineering afterthought.
The hardest part of this project wasn't the algorithm or the UI — it was convincing merchandising, ML, and platform that they were designing the same system. Personalization is an org problem first, an architecture problem second.