Products

Apps we built, maintained by us.

Two public apps on the Shopify App Store. Same engineers, same standards as our client work — which is exactly why we build them.

Live on the App Store

Shop Finder

Store locator for Shopify

Send online shoppers to the shelf. A fast, map-based locator for retail locations, stockists and service partners.

Shop Finder installs as a theme app extension, so merchants drop it into any Online Store 2.0 theme without touching Liquid. Locations sync from CSV, the Admin API or metaobjects.

Surface
Theme app extension
Data sources
CSV, Admin API, metaobjects
Performance
Lazy-loaded, < 40kb on first paint
Localisation
Multi-language and multi-currency aware
Get a demo
< 40kbadded to first paint
admin.shopify.com / apps / shop-finder
Search within 25 mi
2.4 mi away
5.5 mi away
8.6 mi away
01

Geolocation search

Finds the nearest locations from a browser position or a typed address, with radius filtering.

02

Unlimited locations

Bulk import thousands of stores via CSV or the Admin API, with scheduled re-syncs.

03

Theme app extension

Merchant-installable block — no theme code edits, no upgrade conflicts.

04

Custom map styling

Match the map, pins and cards to the store's brand without writing CSS.

05

Opening hours & services

Per-location hours, holiday overrides, contact details and service tags.

06

Search analytics

See what shoppers search for and where demand exists with no nearby store.

Live on the App Store

Code Migrator

Legacy theme modernisation

Turn a decade-old theme into Online Store 2.0 without starting over.

Code Migrator parses vintage Liquid, finds deprecated patterns and generates the sections, blocks and schema needed to bring the theme up to current standards — with a diff you approve before anything is written.

Surface
Embedded admin app
Coverage
Vintage themes back to 2015
Safety
Snapshot + one-click rollback
Output
Reviewable diffs, exportable audit
Get a demo
1-clickrollback on every run
admin.shopify.com / apps / code-migrator
sections/product-template.liquid12 changes
{% include 'product-form' %}
{% assign v = product.variants.first %}
+{% render 'product-form', product: product %}
+{% schema %}
+ { "name": "Product", "blocks": [...] }
+{% endschema %}
Snapshot saved before applyRollback ready
01

Liquid analysis

Scans the theme for deprecated tags, filters and objects Shopify no longer supports.

02

Section conversion

Rewrites static includes and snippets as sections with blocks and JSON templates.

03

Metafield mapping

Migrates legacy namespace metafields onto current definitions and metaobjects.

04

Diff preview

Every change is proposed as a reviewable diff. Nothing is written until you approve it.

05

Safe rollback

Snapshots the theme before each run so any migration can be reverted in one click.

06

Audit report

An exportable report of what changed, what needs manual work and what was skipped.

Why we build products

Client work and product work sharpen each other

Running our own apps means we live with Shopify's review process, billing API, webhook reliability and performance budgets — the same things we ask of your build.

We pass App Store review

Twice through Shopify's review process. We know what gets rejected and why.

We run production

Uptime, migrations, support tickets and rate limits — not just handovers.

We stay current

Products force us onto new APIs early, so client builds aren't a year behind.

Need something neither app does?

Most of our work is custom. If you need an app built for your store — public or private — that's the day job.

See app development
Start a project

Build it with us

Tell us what you're shipping. We'll come back with an approach, a timeline and a fixed scope.