
Outfit Compare
LaunchedDeprecatedAmazon Prime feature that used computer vision to tell you which of two outfits looked better — built inside the Amazon Shopping app.
Outfit Compare was an Amazon Prime exclusive feature that let shoppers photograph 2 outfits and then receive a recommendation on which of the 2 looked better. You pointed your phone's camera at yourself wearing each outfit, and you submitted both photos, and within minutes Amazon's stylists, who were assisted by computer vision, would respond with a pick and with the reasoning behind it, covering the fit and the color and the styling and the current trends.
I was the tech lead for Outfit Compare within the Amazon Shopping app. It was the first React Native feature to ship inside the Amazon Shopping app, marking a meaningful shift in how the Shopping team approached mobile development.
I joined the Echo Look team in February 2017 as a full-stack engineer specializing in React Native, and Outfit Compare was my first assignment. The feature was roughly three-quarters code complete when I picked it up, and so I finished the development, and I worked with marketing to define and instrument the business metrics, and I built out the deployment pipelines, and I worked with the platform team to integrate the native components that it needed.
How It Worked
- Open Outfit Compare from the "Programs and Features" section of the Amazon app
- Photograph yourself in outfit A — mirror selfies worked perfectly
- Repeat for outfit B
- Submit both photos; results typically arrived within one to five minutes via push notification
- Receive a pick from Amazon's fashion team with specific reasoning — fit, sleeve length, color, trend relevance
The feature was exclusive to Prime members and free to use — iOS first, Android shortly after.
Getting it onto Android
I then ported Outfit Compare to Android and launched it there with full iOS parity. That meant rewriting much of the shared React Native rendering code so that it behaved correctly on both platforms, and it meant building a new native component to polyfill React Native image sharing on Android, because image sharing on Android did not exist, and that component went on to be used for image sharing by every React Native feature in the Amazon Shopping app on Android.
Amazon let me open source that component as react-native-share-android. The goal was to close the gap between the iOS behaviour and the Android behaviour of React Native's built-in Share API, and version 0.1.0 was honest about its own limits, which were JPEG only, and only for the images already sitting in the app's cache directory.
Outfit Compare was the first feature to launch on Amazon's internal React Native platform on iOS, the first on Android, and the first to reach full parity across both.
Living with it
Shortly after launch, the platform deprecated the version we had shipped on and released a successor that was built on a much newer React Native. There were no migration instructions to speak of, and there were cascading dependency changes, and breaking changes that required rewriting substantial parts of the feature, and undocumented API changes, and there was no guidance at all on maintaining both versions at the same time. I did the upgrade, and then I spent a considerable amount of time feeding what I had learned back to the platform team so that the upgrade process and its documentation would improve, and that included pushing them to limit platform upgrades to at most twice a year, so as to prevent partner-team burnout.
Outfit Compare remained a stable feature in the Amazon Shopping app for years after launch, and it did so without a major outage. I handled every platform upgrade over its life, and I kept investing in the parts that made that sustainable, which meant consolidating the pipelines and the deployment environments, and upgrading the build system, and adding unit tests and lint rules, so that the feature could serve as the reference implementation that other teams copied when they launched their own.
It was later relocated to live under Style Hub as Amazon consolidated its fashion features.
Press
- Amazon will now tell Prime members what to wear via a new Outfit Compare feature — TechCrunch
- Amazon's 'Outfit Compare' mobile feature tells users what to wear — Retail Dive
- Let Amazon's new outfit picker choose your clothes — we just couldn't follow its advice — GeekWire
- Amazon's new Outfit Compare feature analyzes your fashion photos — Business Insider