Intelligems developer for hire
Intelligems runs price and shipping tests natively on Shopify, so that side of the work lives in the tool and in the theme rather than in hand-written JavaScript. For custom UI and content variants I build the same clean JS and CSS bundle from my own rig and integrate it through the Shopify theme, with single-page-app handling, anti-flicker, and accessibility solved in code before it goes live. Conversion tracking runs through GA4. The hard parts are handled in code, not left to the tool, so the build ships clean and passes engineering review. Available for direct briefs and as overflow capacity for CRO agencies running Intelligems programmes.
Why most Intelligems variation code breaks, and how I avoid it
Intelligems handles price and shipping tests as its native job, so that part rarely needs custom code. The breakage shows up on the custom UI and content side: a variant assumes the DOM is ready when it runs, it never re-applies after a single-page-app route change, it sets a React input in a way the framework ignores, or it shifts layout after first paint and wrecks Core Web Vitals. These are not Intelligems problems. They are client-side engineering problems that show up on every testing tool, and they are where a marketer-led build or a generalist falls down.
I solve them before the variant goes near a live store. The UI or content change is built and tested as real code, so by the time it reaches the Shopify theme it already survives a hostile DOM, re-applies on route changes, sets framework inputs correctly, and ships with the accessibility patterns the brief leaves out. Intelligems then does the one job it is good at: running the price and shipping logic and deciding who is in the test.
What I actually touch in Intelligems
Intelligems handles price and shipping tests natively and integrates directly with the Shopify theme, so that work stays in the tool rather than in bespoke scripts. For custom UI and content variants my rig produces one minified JavaScript file and one CSS file that integrate through the Shopify theme alongside the test. I set the audiences and targeting in Intelligems, and let conversion tracking run through GA4 rather than rebuilding measurement inside the tool. The less bespoke logic lives loose in the theme, the less there is to break on a deploy, and the easier the test is to hand over and reason about.
The engineering baked into every variant
Single-page-app route changes
A theme-integrated variant evaluates on load. On a React, Vue, or Next.js storefront, a route change after that happens client-side with no fresh page load, so a naive variant either persists onto pages it should not or breaks because the elements it expected are gone. My bundle watches for URL changes and re-runs the variant logic on each one, with a short settle so the framework's render pass finishes before the variant mounts. I cover the failure mode in why experiments stop firing on SPA route changes.
Anti-flicker without tanking Core Web Vitals
The variant hides only the elements it is about to change, with a timeout failsafe, rather than blanking the whole page. That stops the flash of original content without the page-wide hide that most setups reach for and that wrecks LCP. The full tradeoff is in stopping A/B test flicker without tanking Core Web Vitals.
React and framework-controlled inputs
Setting input.value directly does not fire React's onChange, so form
state and visual state drift apart and the test measures nothing useful. The bundle uses the native
input descriptor so the framework registers the change. The pattern is below, and explained in full
in setting a React controlled input from an A/B
test.
// Bypass React's overridden value setter so onChange actually fires
const setReactInputValue = (input, value) => {
const nativeSetter = Object.getOwnPropertyDescriptor(
window.HTMLInputElement.prototype,
"value"
).set;
nativeSetter.call(input, value);
input.dispatchEvent(new Event("input", { bubbles: true }));
};
Late-rendering elements and accessibility
Targets that mount late (lazy carousels, async recommendations) are handled with an element-wait utility rather than a fixed delay, so the change applies whenever the element appears. See targeting elements that render late. Any new modal or interactive component ships with a focus trap, ARIA roles, and keyboard parity by default, so the variant passes accessibility review instead of failing it on handover. The patterns are in accessible A/B test variants.
Built with my own rig
The reason a store only ever sees a single clean bundle is that I do not author variants by hand in the tool. I build them in a CRO-specific rig that turns out one minified JS and one CSS per experiment, with a shared helper library for the patterns above, sub-200ms builds, and a stack mode for testing how multiple experiments interact. It is the same output regardless of platform, which is why an Intelligems build, a Convert build, and an Optimizely build all reach the same engineering bar. The full write-up is in abtestrig, the CRO build tool I built.
How I work on Intelligems projects
Briefs start with a short intake: scope, hypothesis, audience, expected lift, leading indicator. The variant is built to your engineering conventions where they exist and to pass review where they do not, self-QA'd cross-browser, and run through an accessibility pass before handover. The handover doc covers the Intelligems audiences and targeting, the goal and GA4 mapping, and how the bundle is organised.
I work UK and EU business hours, every business day, live on Slack and email through your working day. For North American clients, UK afternoons overlap with morning standups on the East Coast.
Other CRO platforms I ship on
Hire an Intelligems developer
For Intelligems variation builds, overflow capacity for CRO agencies, or to discuss a specific test idea. I respond within one UK business day.