Aller au contenu principal
All showcases
2025 · Mars · M&M'S

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 v6Drop-in
2 railsApple Pay · PayPal
Live taxRecalculation
GA + BITracking parity
01 · The brief

Add Apple Pay and PayPal express to the storefront and move the whole express flow onto Adyen's v6 drop-in without regressing card checkout. A single button on the outside; underneath it has to resolve a real cart — taxes, shipping options, and address rules all change the moment the wallet sheet opens.

02 · What it took

A v6 drop-in wrapper shared by both wallets, recalculating tax from the wallet-provided address and surfacing the breakdown back in the sheet; restricted-region blocking (APO/FPO and product-restricted states) before payment, reusing the platform's existing validation; and the wallet amount reconciled against the cart's taxed total so no one was charged a stale price.

03 · Getting the data right

Aligned express payment-type values and events with the analytics spec so conversion and BI reporting stayed consistent across payment methods, then chased down a batch of tracking defects until the funnel matched reality.

04 · Reliability around it

The express flow shares surfaces with the rest of the storefront, so the work spilled into reliability: LCP optimizations on the heavy product configurator shipped behind runtime feature flags — measurable in real-user data, reversible in seconds — and partial-address tax bugs fixed at the source so city-level tax was recovered and totals stayed correct.

More showcases

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

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.

PersonalizationcommercetoolsImage moderationNext.js
Build-your-own Giftbox
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.