Freelance CRO developer building client-side A/B tests that survive production.

Convert, Optimizely, Adobe Target, Dynamic Yield, Monetate, VWO, and Intelligems for Shopify. I build experiments that hold up to engineering review, accessibility audits, and SPA edge cases — for retailers, builders' merchants, insurers, and DTC brands.

Available for direct work and as overflow dev capacity for CRO agencies. Active partnerships with Brainlabs, FunnelEnvy, Browsertobuyer, and MoreConversion.

Selected work

Selected experiments showing the kinds of problems I solve — SPA-aware UI, server-load mitigation, enterprise platform quirks, and accessibility-compliant variants.

Screwfix Optimizely

Desktop search immersive UI

Large UK home improvement retailer

Vertical search overlay had low engagement. F-pattern reading suggested a landscape layout could lift SRP progression.

Built a darkened focus-state overlay, repositioned the search element to a landscape layout, and added search-term-driven subcategory chips for Variant 2. Maintained existing product-suggestion logic to isolate layout as the variable. Two variants shipped sitewide on desktop.

Read the case study →
Screwfix Optimizely

"Shop Similar" follow-me carousel

Large UK home improvement retailer

Google Shopping landers were exiting PDPs and re-entering through Shopping multiple times when the specific product didn't fit. Top-50 power-tool SKUs by click volume were the priority.

Built a sticky "follow-me" similar-products carousel scoped to the product's category. Scrapes the breadcrumb-derived PLP at a price-bound API call, caches results in sessionStorage so subsequent PDPs in the same category render instantly. V2 layers a brand filter for brand-loyal users.

Read the case study →
Travis Perkins Monetate

Trade-price prominence — account-creation lift

UK builders' merchant

Trade prices were rendered separately from retail prices on PLPs and PDPs, so non-account users couldn't easily compare the two and weren't motivated to create a trade account. The hypothesis: making trade prices visually dominant alongside retail prices would lift trade account creation.

Replaced the host's separate trade-price block with a unified price banner showing retail and trade side-by-side, gated to logged-out users via cookie check. Banner click opens an embedded login modal using the host's own identity SDK, with a separate "I don't have an account" CTA routing to signup.

Read the case study →
Homeserve webtrends optimize

Comparison PLP — bundle product removal

UK home insurance provider

Internal data showed bundled "Gas Combo" products had lower year-on-year renewal rates than single-category cover, dragging long-term profitability. Stakeholders wanted to surface them on a separate page so single-category products got cleaner focus.

Removed bundle items from three comparison PLPs by URL match, restructured the grid from 3-up to 2-up, destroyed and re-initialised the Swiper instance to match the new slide count, and dynamically injected a new nav link to the dedicated bundle page once a user had visited a comparison PLP.

Read the case study →
Avon Dynamic Yield

Bestsellers carousel — homepage social proof

Global cosmetics retailer (Romania)

Off-boarding from the UK site cut the planned social-proof test runtime short. The team needed a market that could deliver significance inside a tight timeframe.

Built a 19-product bestsellers carousel with desktop dropdown and mobile bottom-sheet variant pickers, integrated with Avon's internal product API and CartServiceModule for inline add-to-bag, plus IntersectionObserver-driven impression tracking on both control and variant.

Read the case study →
Luxury Flooring Convert.com

Customer gallery homepage integration

UK luxury flooring retailer (Magento)

Customer gallery sat on a separate page where most homepage visitors never reached it — a high-trust social proof asset locked behind a navigation step.

Live-fetched the customer gallery into the homepage, built a product modal that scrapes form data from PDPs to power inline AJAX sample ordering, and surfaced Magento's native success/error notifications by cloning the host's existing UI.

Read the case study →
Screwfix Optimizely

PLP/PDP exit-intent overlay

Large UK home improvement retailer

Plain PLP exit rate of 14.4% across organic and paid channels — users were leaving without finding a product that matched their price or criteria. Returning users exited at 15.1%.

Built a custom ExitIntent detection class (mouse trajectory, inactivity, tab-switch heuristics), an accessible modal with focus trap, and a V2 carousel that fetches category-relevant clearance products at price ranges derived from the breadcrumb and SKU scrape.

Read the case study →

How I work

Stack

  • Vanilla ES6 IIFEs, BEM-scoped SCSS
  • Custom DOM polling utility for late-rendering elements
  • MutationObserver and IntersectionObserver for SPA-aware behaviour
  • React-aware DOM updates (native input descriptor patterns)
  • Focus-trap implementations with AbortController cleanup
  • ARIA-compliant component patterns

Platforms

  • Convert.com, Optimizely Web, Adobe Target
  • Dynamic Yield, Monetate, VWO
  • Intelligems for Shopify-native testing
  • AEM Experience Fragments

Comfortable with Tealium, GA4, Adobe Analytics, and most consent management providers. Familiar with Magento, Shopify Plus, and Next.js host stacks.

QA & quality bar

  • Self-QA every variant across browsers and devices
  • Accessibility checks before handover — focus order, keyboard parity, ARIA semantics, screen-reader sanity
  • Code reviewed against client engineering conventions where they exist
  • Written to pass review where they don't

Engagement

  • Direct with brands or as overflow capacity for CRO agencies
  • Short sprints, retained capacity, or one-off complex builds
  • Async-first; UK and US business hours covered
  • Plain communication for non-technical stakeholders; engineering-grade detail when required

Clients & partners

Experiments shipped for Screwfix, S&P Global, Howdens, Travis Perkins, Avon, HomeServe, Comparitech, Dr. Woof Apparel, VitaHustle, Luxury Flooring, National Scrap Car, and others.

Including Shopify Plus DTC brands such as Dr. Woof Apparel and VitaHustle — built with Intelligems for native Shopify experimentation, plus custom client-side patterns for cart, PDP, and search components.

Active agency and direct partnerships with Brainlabs, FunnelEnvy, Raketech, MoreConversion, Convertex, and BrowserToBuyer.

Get in touch

For project enquiries, overflow capacity, or to discuss a specific test idea. I respond within one UK business day.