Skip to content
McGinnPublishing
All case studies
Ossian GalleryContemporary art gallery2024

A collection browser fast enough to be an argument

Four thousand works, no coherent taxonomy, and an editor who spent her working life filing under whatever seemed right at the time. The archive was unusable.

CMS architectureHeadless WordPressPerformance engineering
Time to find a work
−74%Time to find a work
Works under one taxonomy
4kWorks under one taxonomy
Search queries per session
12×Search queries per session
p75 LCP on artwork pages
0.3sp75 LCP on artwork pages

01The constraint

Ossian's collection had been catalogued over nineteen years by four successive registrars, each with a reasonable filing convention and no knowledge of the others' work. A gallery assistant searching for a sculpture by medium and period would take upwards of eight minutes and would often conclude it did not exist.

02What we did

We designed a hierarchical taxonomy — collection, series, medium, period, exhibition, acquisition — and backfilled 4,100 work records from the old metadata with a classification pass reviewed by the registrars. Faceted search runs against Algolia with the taxonomy as the index. Artwork pages render server-side with a full-bleed image served as AVIF from R2 through next/image, at a fixed intrinsic aspect ratio so nothing shifts while loading.

03What changed

Median time to find a work dropped from just over eight minutes to under two. Search queries per session rose twelvefold, which the gallery reads as a sign that visitors are exploring rather than giving up. Artwork pages hold p75 LCP at 0.3 seconds despite full-screen imagery.

In detail

Nineteen years of reasonable decisions

Every one of the four registrars was doing the right thing with the information available to them. The failure was not diligence. It was the absence of a shared vocabulary — a problem with a CMS, not a person.

We spent two days with the current registrar before designing anything, and the taxonomy we shipped is largely hers. That mattered more than any field group we could have written.

Backfilling 4,100 records

Classification was a machine problem with a human gate. We mapped every distinct legacy term to the new taxonomy — 1,847 distinct values in total — and produced a confidence score for each assignment. The registrars reviewed the 400 records below threshold. Every review was accepted or corrected, and the corrections fed back into the mapping so the model improved as we went.

Images are the whole job

For a gallery, the site is images, and an image that shifts position while loading is a broken site. Every artwork record carries intrinsic width and height, every layout reserves that box with aspect-ratio, and originals are served as AVIF with a responsive srcset from the CDN. Cumulative Layout Shift on artwork pages is 0.00.

That is not a performance trick. It is the difference between a viewer seeing a picture and seeing a placeholder jump into a picture.