Jacob Gruwier Vinjegaard

02 Case 2025 - 2026

Mazen

Eleven growers, one shared cellar, and a catalogue nobody could navigate. The site became a map of soil rather than a list of producers.

ClientMazen
RoleUI Design & Web Development
StackWebflow · GSAP · Klavio
Visit live siteVisit live site →
Mazen — case hero
The brief Djursland, DK

Not eleven brands. One ground, read eleven ways.

The collective's members share a cellar but not a look, and the old site treated that as a filing problem. We inverted it: the landing view is a soil map, and every grower is a position on it. Wines inherit their page design from where they grew, so the range reads as one place with variations instead of eleven competing labels.

The whole thing is one WebGL layer under ordinary, editable HTML. Nothing about the storytelling costs the client their ability to write.

+214% Time on site
0.9s LCP, mobile 4G
6 Vintages, one shader
4wk Brief to launch
Nordlys — vintage page
Nordlys — label detail

FIG. 02 — THE VINTAGE VIEW INHERITS THE HORIZON'S CURRENT LIGHT INSTEAD.

Approach Three moves
01

One horizon

A single full-page canvas carries the light. Sections don't start and stop — they change the sky's temperature as they pass.

02

Type as terrain

Vintage names are set at display scale and clipped by the coastline, so the words sit inside the landscape instead of on top of it.

03

Editable underneath

Everything readable is plain HTML in the CMS. The effect layer degrades to a still gradient with no loss of content.

Nordlys — full-bleed still
Prototype 01:12 · sound on
Nordlys — prototype walkthrough

Fig. 05 — the horizon shader reacting to scroll velocity, captured in the staging build.

“It finally looks like what we actually are — a place, not a lineup.”

Ask Refslund · Chair, Terroir Kollektiv
Nordlys — grid 1
Nordlys — grid 2
Nordlys — grid 3
Deliverables Art direction Design system Frontend build WebGL horizon CMS setup
Credits Design & build — Jacob Vinjegaard Photography — Nordlys Vinhus Identity — Studio Havbrise Copy — Maren Holt mazen.dkmazen.dk→
Next case 03 / 06

Sing For UnitySing For Unity →

0%

Pause