Experiment 001 · Hero headline · running
Syed Rafee Noor
200+
A/B test variants built
18
Brands · ZA, AU, UK, US
5
Stacks · Shopify first
4yrs
Audit to measured result

Scroll through a build

Post-add-to-bag confirmation · React storefront
Step 0 of 4

Control

A product page on a React storefront. Add to bag works, but nothing tells the shopper what happened or what to do next.

// nothing injected yet
// the visitor sees the site as it is
Step 1 of 4

Listen before React

React's synthetic events swallow the click before a normal document listener sees it. A capture-phase listener fires first.

document.addEventListener('click', onAdd, true)

function onAdd(e) {
  if (!e.target.closest('.buy-box [type=submit]')) return
  armed = Date.now() + 10_000   // 10s window
}
Step 2 of 4

Watch the cart API, not the click

The click proves nothing. Fetch is patched once, guarded, and only observed while the window is armed.

const _fetch = window.fetch
window.fetch = async (...args) => {
  const res = await _fetch(...args)
  if (armed > Date.now() && isCartCall(args[0]) && res.ok)
    showConfirmation(await res.clone().json())
  return res
}
Step 3 of 4

Render only on a confirmed 2xx

The card appears with the product, price and two clear next steps. The price comes from the API response, not from the page text.

function showConfirmation(cart) {
  const line = cart.items.at(-1)
  mount(Card({ title: line.name, price: line.price }))
  document.body.classList.add('exp-12443')   // class last: one paint
}
Step 4 of 4

Fail safe

A failed add returns a 500. The window expires, nothing renders, and the shopper sees the untouched control. No false confirmations, ever.

if (!res.ok) return res          // nothing shown
// window expires on its own after 10s
// no body class → variant CSS never applies
listener armedfetch observedrendered on 2xxfailed add → nothing

Audit teardowns

4 audits I wrote · read the leaks
Pet-care DTC · Mar 2026

Coat Defense

5 leaks found. A pet-care DTC brand losing its homepage in the first five seconds — clean design, decent products, no clarity.

Veterinary clinic · May 2026

Greystone Animal Hospital

10 leaks found. A 7-day vet clinic whose booking page tells anxious pet owners their appointment "is not fully booked" — right at the finish line.

Integrative health & aesthetics clinic · May 2026

Optimal Health Collective

10 leaks found. A 16-service wellness clinic that hands every visitor cold to a third-party booking app — and shows its favicon as the share image on every service page.

Driving school · Apr 2026

Millennium Driving School

11 leaks found. A driving school with 300+ five-star reviews and a website that doesn't show a single one.

How I work

Human ideas. AI-built variants. Human-verified quality.

Quality was the trade-off for speed. It isn't any more.

Agencies used to choose quality over quantity because a careful build took days. I built a system where a human idea, sharpened with AI, becomes a working variant automatically, passes automated QA, and then gets my personal sign-off. More tests per month, and every one of them held to the same bar.

01 · Human + AI

Idea

The hypothesis comes from research: analytics, recordings, heuristics. AI widens the idea space and drafts the spec; I decide what is worth a test.

02 · Automated

Build

A workflow I built turns the spec into a working variant: selectors, hydration guards, tracking, and a mobile layout, in under an hour for complex builds.

03 · Automated + me

QA

Playwright checks at 1440 and 390 across four browsers, tracking events verified in the dataLayer, then I review every test personally before it goes live.

Shopify first

Most of my clients run on Shopify or Shopify Plus

Theme-level builds

Alternate product and homepage templates, custom sections, metafield-driven content and Liquid, so a winning test ships as real theme code, not a script patch.

Price, offer and layout tests

Intelligems and Convert experiments on Shopify and Shopify Plus, including quote forms, bundles, pack selectors and buy-box redesigns.

Checkout-aware

Working inside Shopify's checkout and cart constraints: what can be tested, what needs an app, and what breaks tracking.

My own store

GiftBaksho is a live Shopify store I run, so every idea gets tried with my own money before I recommend it to a client.

How a test gets built

Same loop, every ticket
01

Observe

GA4 funnels, session recordings and the live DOM. Where do people hesitate, and what does the page actually do there?

02

Hypothesise

One sentence: if we change X for these users, Y moves because Z. Prioritised by revenue impact and build cost.

03

Build

The variant written in JavaScript inside the testing tool or the theme itself. Uses the site's own APIs and survives React re-renders.

04

QA

1440 and 390 viewports, four browsers, iOS. Tracking events verified in the dataLayer before traffic arrives.

05

Measure

Goals wired to the real metric. A result is called at 95% confidence with the sample size fixed up front, and losers are written up too.

Field notes

Rules earned from broken builds

Read the backend, not the screen

Prices, savings and stock come from the site's data layer or API response, never from parsing rendered text that rounds and reformats.

Survive hydration

React and Next.js sites wipe injected DOM seconds after load. Every variant re-checks itself and restores what the framework removed.

Gate everything on the element

No querySelector guesses. Each interaction waits for its target to exist, so late-loading components never break the test.

Trigger on confirmed outcomes

A popup fires on the cart API's success response or the analytics event, never on the click. Failed adds show nothing.

Decorate, don't rebuild

Wrap and restyle the native component when you can. Rebuilding a modal or carousel from scratch is where tracking silently dies.

Fail safe

If the data source is missing, abort before adding the body class. The visitor sees the untouched control, never a half-built variant.

Tools and platforms

Testing · analytics · storefronts · QA
ConvertAdobe TargetIntelligemsGA4Microsoft ClarityShopify & Shopify PlusMagento 2DynamicwebNext.js / ReactAngularWordPress / ElementorPlaywrightBrowserStackFigma
Founder · product, engineering, go-to-market

Business software I built from scratch and sold to a large local manufacturing group.

KORI is a multi-tenant CRM and ERP: sales, purchasing, stock, accounts, quotations, HR and reporting, in English and Bangla, with a built-in AI assistant (Kori Ask), day and night themes, on web and mobile. I designed it, built it, migrated the client's years of data, and it now runs the daily operations of a multi-company manufacturing and trading group. It is sold to wholesalers and distributors under the KORI brand, alongside Kori Connect, an AI sales assistant for WhatsApp and Facebook.

Built
Next.js · PostgreSQL · multi-tenant
Modules
13, from sales to HRM
In production
Daily use across 3 companies
Also shipped
Kori Ask AI assistant · WhatsApp sales bot

Why it matters for CRO work: I have sat on the other side, as the founder whose revenue depends on the software converting. That changes how carefully I test.

Available · Full-time remote, contract builds, audits

Let's run
the next test.

Hiring for an experimentation team, or need a variant built that your current dev said was impossible? Send the brief. I reply within a working day, CET or SAST hours are fine.

ElsewhereLinkedInRemote · Europe to Australia hours