Skip to main content
All showcases
2025 · Mars · M&M'S

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.

Build-your-ownGiftbox
Review v2Before checkout
ImageModeration + reupload
commercetoolsFlavor model
01 · A page for a product that doesn't exist yet

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.

02 · Review before you buy

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.

03 · Customer images, safely

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.

04 · The data model underneath

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

Mars · M&M'S2025

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.

Adyen v6Apple PayPayPalcommercetools
Adyen v6 Drop-in
Mars · M&M'S2024

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.

Next.jscommercetoolsAccessibilityUX
PDP v2 Rebuild
Mars · M&M'S2025

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.

PersonalizationGiftingAnalyticsNext.js
Live Preview + edit
Elevate AB2025–2026

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.

Next.jsShopifyA/B testing
25 Split-URL variants
Elevate AB2026

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.

GitHub ActionsCI/CDVercelSentry
Hotfix + rollback Workflows
IbrLy · 3D / UI2026

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.

3DCanvasScroll-scrub
3D Pre-rendered
READY WHEN YOU ARE

Got a project that needs to ship?

Send a short brief, scope, timeline, what's blocking you. I respond within 24h.