Flavor Remix — a build-your-own giftbox for M&M'S
Owned large parts of Flavor Remix — M&M'S' build-your-own giftbox — end to end: its dedicated v2 product page, a rebuilt review-before-you-buy flow, an accessories drawer, and customer image upload with moderation and reupload. All on a commercetools model reworked to treat flavor as a first-class attribute.
Flavor Remix lets customers assemble a custom giftbox, so its product page can't be a static PDP — it's a builder. I built the v2 product detail experience for it: composing the mix, adapting the accessories flow into the page, and refining styling and layout so a configurable product still reads like a polished storefront page.
The review step is where a custom build becomes an order, so it had to be exact. I rebuilt the Review v2 flow — adding the assembled giftbox to the review page, surfacing accessories in a drawer gated behind a feature flag for safe rollout, and making sure what the customer confirmed was precisely what they'd receive.
Because customers upload their own images onto a physical printed product, the flow needs guardrails: upload with image rejection for anything unsuitable, and reupload so a rejected image doesn't dead-end the order. Moderation runs before anything reaches production.
Personalization is only as clean as the catalog behind it. I promoted flavor to a first-class commercetools attribute — a stable flavor id, localization removed where it didn't belong, and the old free-text field deprecated — so the builder reads structured data instead of strings.
More showcases
Apple Pay & PayPal Express Checkout for M&M'S
Designed and shipped one-tap express checkout on the global M&M'S storefront — Apple Pay and PayPal, migrated onto Adyen's v6 drop-in. Covered the unglamorous parts that make express actually work: live tax recalculation, address and shipping-state validation, restricted-region blocking, and analytics parity with the standard flow.
Rebuilding the M&M'S product detail page (PDP v2)
Helped rebuild the M&M'S product detail page from the ground up — a new layout and interaction model with sticky product imagery, drawer-based detail, reworked reviews and tabs, and an accessibility pass that held up to audit. The surface that has to sell every product, rebuilt without breaking the ones already in carts.
Greeting Cards v2 for M&M'S gifting
Rebuilt personalized greeting cards for M&M'S gifts: live preview and edit, wired into the gift data flow so the card travels with the order, and event tracking so the team can see how the feature is actually used.
Experimentation features for Elevate AB
A run of product features on Elevate's Shopify A/B-testing platform: multi-store switching so agencies and owners hop between stores without re-auth, split-URL experiments scaled to 25 variations with fractional traffic splits, and targeting and content-editor improvements that made experiments easier to set up and trust.
Release & deploy automation for Elevate AB
Turned Elevate's release process from manual and error-prone into automated and auditable: GitHub Releases from tags, auto-tagging and staged deploys, a changelog generator, E2E tests that fire automatically after staging, and stepped hotfix and rollback workflows — plus Slack announcements linking the release, the GitHub page, and the live URL in one message.
UI in motion — a scroll-driven 3D reel
A 3D-rendered hero reel, shipped scroll-driven. Instead of running a live Three.js / WebGL scene — GPU-heavy and janky on mid-range phones — the 3D work is pre-rendered to a 1080p image sequence and scrubbed frame-by-frame on a 2D canvas as you scroll. All the depth, none of the runtime cost.