A personalization app built from the ground up: artwork and audio uploads, live previews and validation, wired into a third-party manufacturer's fulfilment workflow with no manual intervention.
John wanted to launch a highly customized vinyl record business on Shopify, allowing customers to create personalized vinyl records by uploading artwork and audio files, something not supported by standard Shopify apps. In addition, orders needed to be automatically processed and fulfilled via Kunaki, a third-party vinyl manufacturer, without manual intervention.
The challenge was to build a custom, scalable system that handled personalization, validation, order accuracy, and manufacturing automation, all while remaining user-friendly for both customers and admins.
No existing Shopify app supported customer audio uploads and image uploads together.
Complex personalization logic with live previews and validations.
Shopify order data needed to sync accurately with Kunaki's manufacturing workflow.
High risk of order errors, wrong files, quantities, or shipping methods.
The client needed admin-level controls (toggles, availability, fallback logic) without developer dependency.
The system had to remain stable during high-traffic periods, ads and holidays.
Tailored specifically to Shopify and Kunaki's fulfilment requirements, rather than assembled from plugins that each solve part of the problem.
Automating fulfilment is easy while every request succeeds. The real work was the failure path: a submission to Kunaki can time out, come back rejected, or land with a shipping method the manufacturer does not accept for that destination, and on a personalized product there is no generic replacement to ship. So the integration validates the order before it submits, holds anything that fails validation rather than sending it half-formed, and retries transient failures behind fallback logic instead of silently dropping them.
The same discipline applies to the files themselves. Audio and artwork are validated at upload, checked again at submission, and reconciled against the Kunaki order once fulfilment is confirmed, which is why mismatches between what a customer bought and what got manufactured never became a support queue. The whole flow was tested against real production orders before launch, not staged ones.
The final solution required roughly 100 hours of custom development, exceeding the original estimate. To ensure quality and a smooth launch, the additional effort was absorbed without compromising delivery or performance.
Tell me the workflow and I'll tell you whether it's a build or a bad idea.
Start a conversation