An art gallery that has to behave like a slow photograph

Personal project for Anabel de la Forêt, fine art portraits, Salt Spring Island

Portraits held by wild light, presented without a single thing rushing the visitor.

Design & build. Anabel wrote the page copy.

2026

Next.js

GSAP

Lenis

Tailwind

Photo pipeline

SEO research

Anabel makes fine art portraits on Salt Spring Island. River, forest and winter light, deliberately slow work. She did not commission this site. It was a surprise for her birthday, which meant there was no brief, no sign-off loop, and nobody to ask what the gallery was supposed to do.

That freedom cuts both ways. With no client direction, the decisions had to come from her photographs and from what people actually search for when they want this kind of work.

Fifty photographs is a content system

The gallery is generated from a manifest of around fifty images with matching thumbnails and dimensions. Adding a photograph is one entry, not a layout decision.

The scroll was the interface

Smooth scrolling, section handover and gallery arrival all had to agree with each other. Most of the later work went into making navigation and gallery entrance cooperate instead of fighting over scroll position.

Search gave the site its structure

The research found a clear niche: elopements and ceremonies in British Columbia, and local portrait work around Victoria and Vancouver Island. Those pages were built before anything decorative was.

A real SEO programme, not a keyword tag

Three intent groups were researched: 104 ceremony terms, 58 local terms and about 2,200 service terms. The useful finding was that “elope british columbia” and “elope in british columbia” each pull around 590 searches a month, while head terms like “photographer” pull thousands and are unwinnable for a single practitioner. So the structure follows the niche: ceremonies and elopements first, Victoria and Vancouver Island services next.

Next.js, because some of it cannot be client-side

Server-rendered pages, a generated sitemap and robots file, and dynamic Open Graph images so a shared link looks like the work instead of a generic card.

Lenis and GSAP on a short leash

Smooth scroll is easy to add and hard to keep accessible. It is wired so keyboard navigation, reduced-motion preferences and the browser’s own scrolling still work.

Photographs get a pipeline, not a CMS

Originals are catalogued, thumbnails generated, and both driven from one manifest. She is not asked to maintain anything: she keeps shooting her best work, and I fold new pieces in when she wants them. A gallery she curates stays a gallery.

A portrait practice site with a full-bleed photographic hero, a manifest-driven gallery, service sections for ceremony work, a light and dark theme toggle, and SEO foundations. It is built and ready, not live yet. The domain will be anabeldelaforet.com and it will run on my own server.

Built and ready in 2026. Not live yet, and that is deliberate: it launches on her timing, at anabeldelaforet.com.

The site runs on my own server, so she is not paying for hosting or maintaining anything technical.

Three search-intent groups researched, and the page structure is built around the two she can realistically win rather than the head terms she cannot.

A gift project has no scope document, and I would write a short one anyway next time. The decisions still needed making, and one page saying “here is what I think this should do” would have saved a couple of reversals.