Work · Printed Editions · 26,000 works
Large features shipped on a live marketplace, without a rebuild
Printed Editions had 120 partner galleries, roughly 26,000 artworks, and gallery pages taking about seven seconds to load. The brief was to fix discovery without taking the shop down or starting again.
The situation
Printed Editions is a fine art marketplace running on WordPress, with more than 120 partner galleries and around 26,000 artworks listed. It worked, and it had accumulated the kind of technical debt that a platform accumulates when it succeeds faster than it is refactored.
The clearest symptom was speed. A gallery preview page took roughly seven seconds to generate, and each one fired more than 2,100 database queries to do it. Alongside that: filtering behaved differently depending on which template you happened to be on, the directory was thin, sold work was still showing as available because the inventory logic was wrong, and 27,780 images were sitting stuck in a processing queue that a broken cron job had quietly stopped clearing.
Measure first
The obvious move with a seven-second page is to buy more server. It is also usually the wrong one, and it is expensive in a way that recurs every month.
Before anything was built, the bottleneck was measured rather than assumed, and the finding was that this was a software problem rather than an infrastructure one. Two thousand queries per page render is not a hardware shortage. Establishing that first is what made the rest of the work small enough to do on the live site.
What was built
- A proper gallery directory, with filtering by artist, country, art movement and gallery.
- Clean, shareable filter URLs, so a filtered view is a link somebody can send rather than a state you have to recreate.
- Featured artists, and headings that respond to the filter you are actually looking at.
- Filtering rationalised across templates, so the same controls behave the same way everywhere.
- The sold-work bug fixed, so inventory reflects what is genuinely available.
- Support for two additional currencies.
- The image queue diagnosed and characterised, and the cron failure behind it found.
The constraint that shaped it
All of this went onto the live platform. There was no staging rebuild, no freeze, and no migration weekend. A marketplace with galleries depending on it does not get to close for refurbishment.
Total development time was about two months, AI-leveraged, which is the difference between this being a viable piece of work and being a rebuild nobody was going to fund.
Why it is here
Most quotes for a platform in this state are quotes to replace it. Replacing it would have cost a multiple of what this did, taken far longer, and thrown away a working commerce system along with its problems. The useful skill was not building something new. It was working out which of the existing problems actually mattered, and fixing those on a system that was never allowed to stop.
Client
Printed Editions. Named with permission.