ABOUT · CRAIG MANKELOW

Twenty years of moving data other people were afraid to touch.

I’m Craig - a freelance software engineer in the UK. I’ve spent my career on the unglamorous end of e-commerce: the data layer. Product catalogues with hundreds of custom attributes, order books going back a decade, tax rules that changed three times along the way.

For years I built and maintained stores on Magento, WooCommerce and BigCommerce. I watched the same story repeat: platforms age, agencies quote rebuilds, and owners freeze - because nobody can tell them, plainly, what happens to their history.

So that became the job. I now do one thing: migrate established stores to Shopify, completely. Not the 80% an import app manages - the awkward last 20% where the real risk lives: custom attributes, metaobjects, order history to the penny, mirrored taxes, discount codes and voucher balances.

Craig Mankelow
BASEUnited Kingdom · works remotely
EXPERIENCESoftware engineering since 2003
FOCUSShopify migrations, exclusively
STRUCTUREOne engineer. No handoffs

2003

First e-commerce build

Hand-rolled carts, dial-up customers

2009

Enterprise data engineering

ETL pipelines, financial reconciliation

2014

The platform years

Magento, WooCommerce & BigCommerce builds

2024

Shopify migrations only

One service, done completely

HARD-EARNED LESSONS

Why migrations go wrong - and why yours won’t.

Attribute entropy is real

Every store older than five years has custom fields nobody remembers creating. Half look abandoned. Some are load-bearing. I census every one before a single record moves - guessing is how data dies.

Order maths never adds up by accident

Historic orders carry retired VAT rates, rounding quirks and refunds against deleted SKUs. If your new store shows different totals than your accounts, you have an audit problem. Reconciliation isn't a nice-to-have.

The last 20% is the actual job

Any tool can move the easy 80% of a store in a weekend. Migrations fail in the long tail - the voucher with a partial balance, the order paid in a currency you no longer sell in. That tail is where I live.

If your store’s history matters to you, we should talk.