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.

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.