The Laundry Story

Een webshop waar je via de verhalen bij de producten komt

The Laundry Story maakt wasparfum en producten voor in huis. Het merk verkoopt vooral op geur en sfeer, dus de webshop moest veel ruimte geven aan verhalen en beeld. Kopen moest net zo makkelijk blijven als in een gewone Shopify-winkel.

Klant
The Laundry Story
Soort project
Headless webshop
Rol
Architectuur, Next.js-build, CMS-inrichting, Shopify-koppeling, Firmhouse-koppeling, eigen DatoCMS Shopify Picker, analytics, SEO, deployment
Doorlooptijd
3 maanden
Datum
Mei 2024

Doel

Veel content, en een winkel die gewoon werkt

Het contentteam wilde zelf pagina's en verhalen maken, zonder developer. Tegelijk moesten prijzen, voorraad en productinformatie uit Shopify komen en altijd kloppen. De site moest allebei kunnen.

MacBook- en iPhone-mockup van The Laundry Story: een merkverhaal over wasparfum op desktop en de bestsellercarrousel op mobiel

Aanpak

Shopify voor de winkel, DatoCMS voor de verhalen

Ik heb de site zo opgezet dat elk systeem één taak heeft. Shopify regelt alles rond kopen, DatoCMS de content, en Next.js zet die twee samen op één pagina.

Publiceren

Pagina's bouwen met vaste blokken

In DatoCMS maakt het team pagina's van blokken die ik vooraf heb ontworpen en gebouwd. Een concept bekijken ze in een preview die eruitziet als de echte site. Bij publiceren worden alleen de gewijzigde pagina's opnieuw gegenereerd, dus een nieuw artikel staat vrijwel meteen online.

MacBook- en iPhone-mockup van een blogartikel met een cross-sellblok: een badkamerfoto met producten die je direct kunt kopen

Productpagina's

Shopify eerst, het verhaal erbij als dat er is

Een product- of collectiepagina begint altijd bij Shopify. Heeft de redactie in DatoCMS extra content voor dat product gemaakt, dan komt die erbij. Zo niet, dan staat er gewoon een complete productpagina met de gegevens uit Shopify. Een nieuw product is dus meteen te koop, ook als het verhaal nog niet af is.

MacBook- en iPhone-mockup van de productpagina van wasparfum White Musk op desktop en de wasparfumcollectie op mobiel

DatoCMS-plugin

Producten aanklikken in plaats van ID's plakken

Zonder hulpmiddel koppel je een Shopify-product aan content door een ID te kopiëren en in het CMS te plakken. Eén verkeerd teken en er staat een ander product op de pagina. Daarom bouwde ik een DatoCMS-plugin waarmee redacteuren producten, varianten en collecties uit Shopify opzoeken en aanklikken, met foto en prijs erbij.

MacBook-mockup van DatoCMS met een productrecord en een gekoppeld Shopify-product, inclusief afbeelding, type, categorie en prijs

Onderhoud

Fouten zien voordat ze live staan

De site haalt data uit twee API's. Uit de GraphQL-schema's van DatoCMS en Shopify genereer ik automatisch TypeScript-types (GraphQL code generation, met graphql-request in Next.js). Past een wijziging in het contentmodel niet meer bij de code, dan zie ik dat tijdens het bouwen en niet pas als een bezoeker op een kapotte pagina belandt.

Snelheid

Vooraf gebouwd, ververst bij publiceren

De site draait op Vercel met SSG en ISR. Pagina's staan klaar voordat iemand ze opvraagt. Een webhook vanuit DatoCMS ververst alleen de pagina's die veranderd zijn. Afbeeldingen worden automatisch geschaald en code wordt per pagina ingeladen, zodat ook de zware contentpagina's snel blijven.

Resultaat

Live in mei 2024, na drie maanden

De nieuwe webshop ging in mei 2024 live. Shopify doet waar het goed in is: producten, voorraad en de checkout. In DatoCMS schrijft het team zelf verhalen en koppelt daar producten aan, zonder mij erbij te halen.

MacBook- en iPhone-mockup van de shoppagina op desktop en een cross-sellblok in de blog op mobiel

Volgende case: Dit is Watt

Een onepager over thuisbatterijen, zonder verkooppraat

Dit is Watt legt uit hoe een thuisbatterij werkt. Het team past alles zelf aan en wijzigingen staan binnen seconden live.

Bekijk Dit is Watt
Case Dit is Watt