INTERACTIVE DEMO — SYNTHETIC DATA
Seasonal Catalog Media Pipeline
Eight command-line tools that move a season's swatches and colourway photos onto a wholesale catalogue. This is the shell, simulated — and the matching, which is not.
Every record on this page is fabricated. No production system, customer, employee or credential is involved.
The production system behind this demo was engineered by Prada Dipa — LinkedIn profile, opens in a new tab and Luthfi Aditya — LinkedIn profile, opens in a new tab. I managed and directed it — requirements, technical review, QA and rollout.
PICK A TOOL
Map exported swatch filenames onto the loader's convention. Anything it cannot place is left alone.
python rename_swatches.py ./M27THE EIGHT TOOLS, AND WHICH OF THEM CAN WRITE
The blast radius is the architecture. One tool that did all of this would have to be trusted all at once; eight of them can be trusted separately, and three of them cannot do damage at all.
rename_swatches.py · DRY-RUN BY DEFAULT
renames exported swatch files to the loader's convention
photos_sync.py · DRY-RUN BY DEFAULT
matches colourway photos, uploads only what is missing
ws_link.py · DRY-RUN BY DEFAULT
assigns swatches to colourways and PATCHes the ACF fields
find_missing.py · READ-ONLY BY CONSTRUCTION
which sw-* files never made it into the media library
photo_audit.py · READ-ONLY BY CONSTRUCTION
colourways with no photo, photos with no colourway
inspect_media.py · READ-ONLY BY CONSTRUCTION
duplicate -1 / -2 slugs from an accidental double upload
media_refresh.py · DRY-RUN BY DEFAULT
delete-then-upload, one file at a time
probe_upload.py · WRITES ITS OWN TESTS, THEN DELETES THEM
finds the host's real upload ceiling, then removes every test it made