What it does
A production Dutch e-commerce site. Shopify Hydrogen storefront on React Router v7, server-rendered, on live traffic. A Sanity CMS studio the client’s own team edits without a developer. Bilingual NL/EN content modelled for two languages from the start rather than bolted on. Algolia InstantSearch kept in sync with published products only, so nothing unlisted leaks into results. Publish state, variants and pricing flow from Shopify through to search and CMS. Typed end to end in TypeScript.
What I built
- The Hydrogen storefront: collections, product pages, cart, customer accounts, all server-rendered.
- The Sanity studio: schemas for pages, banners, campaigns and editorial content, with a bilingual field model and preview.
- The Algolia sync: a webhook-driven indexer that mirrors only published products and keeps variants and pricing current.
- Deployment, environments and the handover so the client’s team ships content without me.
Why it is in this portfolio
Half of “my app is broken” turns out to be an API problem. This is here to show that when the bug is not in the app, I keep going.

