WORK/ECOMMERCE · PLATFORM MODERNISATION

Emoldura

A Shopify integrated frame business moved off an unsupported stack onto modern Django and cloud storage, with every customer file carried across intact.

INDUSTRYEcommerce, print on demand
Emoldura storefront on desktop and mobile
1 / 3Emoldura

01 · CONTEXT

Emoldura sells frames and personalised photography through Shopify. The heart of the product is a visual builder where the customer composes their piece before buying it, and that builder had been working and converting for years.

02 · THE PROBLEM

The backend had fallen several generations behind the ecosystem, which limits where it can be deployed and what can be built on top of it. Customer uploads lived on the server's own disk. The risk was not that it would stop working tomorrow, it was that every month made any future change more expensive.

03 · WHAT WE BUILT

01
The full version jump.We moved the backend to current releases of Python and Django, crossing a decade of breaking framework changes, with the database migrated to a current MySQL.
02
Cloud storage, with a purpose-built tool.We wrote a repeatable migration command with a dry run mode to move customer files to S3 compatible storage, with MinIO mirroring the environment in development. When what you are moving is material someone already paid for, the process has to be auditable.
03
Parity between development and production.We containerised the full environment with Docker Compose, so what runs on the team's laptop is what runs on the server.
Emoldura frame product page with colour and print optionsBackend and storage stack, before and after the modernisation

04 · WHAT HELD

The customer files. All 651 of them moved off a single server disk onto object storage without a loss, which is precisely the part of a migration where things quietly go wrong and nobody notices for months. The platform came out on a supported framework, deployable on current infrastructure, with a development environment that matches production. And the storefront kept selling throughout, because the modernisation stayed underneath the layer the buyer touches.

← PREVIOUSReadingfulNEXT CASE →Seduct

// contact

Built right.
Built to scale.

30 minutes with Alan. No account managers, no sales team. If we're not the right fit, we'll say so.