← Back to workStudio concept · 2026

Bramble Coffee Roasters

A concept brief for a speciality coffee roaster running subscriptions and an editorial journal. Built end-to-end to show the work — live client work shown on request.

Year
2026
Role
Concept · Design + Build
  • E-commerce
  • Editorial
  • Next.js
The brief

Bramble is a concept brief for a Sheffield speciality roaster — single-origin beans roasted under a railway arch, sold as one-off bags or via a recurring monthly box. The brief: handle subscription, single purchase, and an editorial journal of tasting notes and farm visits in one site, without any of the three feeling bolted on.

Live site
bramblecoffee.co.uk
Open ↗
View the full siteOpens in a new tab
Build a site that handles all three — subscription, single bags, journal — without any of them feeling bolted on.
From the brief
Design decisions

The four specific calls that defined this build.

'Pause for a month' instead of cancel

The retention friction in subscription coffee is always at the cancel screen. Added a one-click 'pause for a month' option that holds the customer without trapping them. Net retention typically lifts 4–6pp vs. the same offer with a hard-cancel UX.

MDX in the repo, not a headless CMS

Bramble write all their own tasting notes. A traditional headless CMS for that is overkill — most teams at this size try Sanity, abandon it after two months. MDX in the repo means the team writes in plain Markdown and it ships with the build.

One cart for subscription + single bags

Most coffee subscription sites push you into the subscription product type, which makes one-off bag purchases feel second-class. Built a unified cart that handles both seamlessly — single-bag buyers convert to subscription naturally over 2–3 orders.

Generative cover swatch per coffee

Each origin gets a cover image generated from its tasting notes — terracotta for stone fruit, deep brown for chocolate, ochre for citrus. Means new coffees ship without commissioning new photography. Cuts week one of every new release.

The stack

Every tool chosen on purpose, with a reason that beat the obvious alternative.

Framework
Next.js App Router

Static-export-friendly for the journal, dynamic for the cart. Same codebase, no Rube Goldberg deployment.

E-commerce
Shopify Storefront API

Shopify for inventory and checkout (a solved problem); custom front-end for everything else.

Subscriptions
Recharge via Shopify

Native Shopify subscriptions handle weekly but get awkward for 'pause one month, ship the next.' Recharge handles it cleanly.

CMS
MDX in repo for journal

Tasting notes are short-form, infrequent, and team-written. No CMS justifies its weight.

Search
Pagefind

Static, instant, zero JS. Generates the index at build. Saves a $30/mo Algolia bill.

Hosting / Analytics
Vercel + Plausible

Plausible is cookie-free so the cookie banner that nobody clicks goes away.

What success looks like

The numbers a real engagement would be scored on.

−45%
Target · subscription churn
33%
Goal · journal share of traffic
<90kb
Homepage page weight

Like this for your business?

I'd start with the same brief on yours — built to the same standard, in 2–4 weeks.