tempo
Tempo Communications
The content was in WordPress, the catalog in Craft, and sales in Shopify. We brought them together into a new site, without taking Shopify out of sales.
- My role
- Tech lead and PM. I planned the project and built the data extraction and the catalog importer.
- Stack
- WordPress, Elementor, Shopify, Node.js
(enlarge) The starting point
The old WordPress read the catalog from Craft, and that dependency was fragile. Shopify had to stay, because it was already integrated with the company's systems. Craft, on the other hand, had to give up its data, and that data had to be mapped properly.
What we did
First, a copy
Before touching anything, I migrated the site to a separate environment, so I could analyze and export it without risk. That confirmed it was better to build from scratch.
A spreadsheet as the source of truth
I merged several exports into a master spreadsheet, where Tempo's team could work on the new categories.
An importer before manual entry
I wrote a command-line tool that can be re-run, with a test mode and product code validation. Odd cases were fixed by hand, to keep the logic free of exceptions.
(enlarge) A hybrid store
WordPress shows the synced catalog and Shopify closes the sale. We started with a plugin and, when it hit its limit, the team replaced it with a custom one, without changing the front end.
(enlarge) One rule, not hundreds
Some documents had links already handed out to distributors. We migrated them keeping every file name, so a single redirect rule was enough.
By the numbers
- ~1,260 catalog entries exported from Craft
- 876 documents migrated
- Live since August 2026