
- Remix
- Shopify Admin API
- Polaris
- App Bridge
- Railway
- Internal tooling
Situation
When a product page won an A/B test, its content had to be moved onto the control page by hand: title, description, SEO, product type, vendor, tags, template suffix and manual collections, retyped one at a time or queued behind a developer.
What I built
An internal app that promotes the winner in one action. Pick the winning page and the control, review the changes, and promote. It is built in Remix with Polaris and App Bridge so it lives inside the Shopify admin, and it is deployed on Railway.
Safeguards
It shows a field-by-field diff before anything is written, and snapshots the control to a persistent volume first. It refuses to overwrite a protected template, and it skips rule-based collections because those populate themselves. A history screen restores any snapshot.