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

Convert.com, Optimizely, Adobe Target, Dynamic Yield, Monetate. 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

Six 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. Comfortable with React-aware DOM updates (native input descriptor patterns), focus-trap implementations with AbortController cleanup, and ARIA-compliant component patterns.

Platforms

Convert.com, Optimizely Web, Adobe Target, Dynamic Yield, Monetate. Comfortable integrating with Tealium, GA4, Adobe Analytics, AEM Experience Fragments, and most consent management providers. Familiar with Magento, Shopify, and Next.js host stacks.

QA & quality bar

Self-QA every variant across browsers and devices. Accessibility checks — focus order, keyboard parity, ARIA semantics, screen-reader sanity — before handover. 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. Available for short sprints, retained capacity, or one-off complex builds. Async-first, UK and US business hours covered. Plain communication for non-technical stakeholders when it's needed; engineering-grade detail when it's 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.

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

Get in touch

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