Theme Drift
A 3-way theme diff that separates a merchant's own edits from a theme update, so customizations survive the upgrade.
- Role
- Solo founder: product, design and engineering
- When
- Sep 2026, live on the App Store
- Platform
- Embedded Shopify app
The problem
When a customized theme gets a new version from its developer, merchants can't tell their own edits apart from the upstream changes. Updating means either losing customizations or redoing them by hand, file by file.
What I built
Theme Drift compares two or three themes side by side: the original version, the merchant's live copy and the new release. Every file gets a status (only mine changed, only the update changed, both changed the same way, or a real conflict), and conflicts are sorted to the top.
Under the hood
- Checksum first: file lists are paged through the Admin API and compared on Shopify's own MD5 checksums. File bodies are only fetched when a merchant opens a file, in batches of 50.
- Two line diffs (base to mine, base to theirs) are merged into one aligned Base / Mine / Theirs grid with word-level highlighting and Liquid syntax highlighting.
- Images, video, audio and fonts are classified and compared visually instead of as text.
- It works with a single read_themes scope and never stores theme content: every comparison runs live.
Where it stands
Launched in September 2026 in 10 languages. Two-way comparison is free and the 3-way view is a one-time purchase.
Built with
React Router 7PolarisAdmin GraphQLjsdiffPrismi18nextPrismaPostgreSQL