← ALL WORK
CASE STUDY · WEBSITE DESIGN & BUILD

The Well
at Nine Yards

The Well is a wellness centre in Johannesburg. Brightwork built its brand site and its bookable experience on Shopify — a short quiz that points you to the right programme, a live class calendar that's always current, and memberships — and shipped it with a team of AI agents.

Client The Well at Nine Yards · Johannesburg
Scope Brand site · booking integration · memberships
thewell.africa
The Well at Nine Yards home page — a warm, cinematic hero over the brand's editorial homepage, built on a bespoke Shopify theme.
3 questions the pathway quiz
live class calendar self-updating from booking
4 membership tiers Origin · Stream · Well · Source
~545 commits built with AI agents

The Well at Nine Yards is a wellness centre in Johannesburg. Brightwork built its brand site and its bookable experience on Shopify — a short quiz that points you to the right programme, a live class calendar that's always current, and memberships — and shipped it with a team of AI agents. Warm on the surface, carefully engineered underneath, and mobile-first throughout.

01 — The starting point

The brief

The Well is a Johannesburg wellness brand with a clear point of view: urban wellbeing, done well. The positioning is deliberately not spa-and-luxury — it's grounded and intelligent, built on language of recalibration: regulation, rhythm, coherence. The site had to feel like that, not like every other wellness template.

What they needed was two things at once: a brand site that carried that voice, and a bookable experience spanning memberships, classes, events and treatments — with the scheduling itself handled in their booking platform, Rezerv, and the brand experience living on Shopify. Signed in March 2026, it's a phased, ongoing build.

Not spa. Not luxury. A grounded, intelligent place to recalibrate — regulation, rhythm, coherence.

— the brand brief, in a line

Mobile-first from the brief

Most people meet The Well on a phone, so the whole thing was designed for the small screen first — the same warmth, the same quiz, the same live calendar, on the device most visitors actually hold.

The Well home page on a phone — the cinematic hero and editorial homepage rendered mobile-first.
Home
02 — Design & build

The brand, built

The site runs on a bespoke Shopify theme we built for The Well — codenamed "Oasis". It opens on a cinematic hero with a word-by-word reveal, a film-grain texture and gentle parallax, then unfolds into homepage story tiles: a warm, editorial design in the brand's own palette (Root, Mousse and Clay), set in Arsenal and Poppins.

This is the part worth being clear about: it is hand-built, not a template drop-in. Around 90 custom theme sections make up the site, each one designed for The Well rather than adapted from something generic — which is what lets a Shopify store feel like a brand instead of a storefront.

thewell.africa
The Well homepage on desktop — the bespoke 'Oasis' Shopify theme with a cinematic hero and editorial story tiles in the Root/Mousse/Clay palette.
The homepage of the bespoke "Oasis" theme — ~90 custom sections, the brand's warm palette, Arsenal + Poppins type. Hand-built, not a template.
03 — Personalization

Find your pathway

A wellness catalogue is overwhelming when you don't know where to start. So we built The Well Guide: three short questions — "how are you feeling right now?" (frazzled, flat, motivated, happy…) — that match a visitor to one of three pathways: Reset, Revitalise or Deepen.

Crucially, we rebuilt the Guide to educate, not sell. The result gives a personalised "why this matched" line, three "did you know" education cards — Where you are, Classes that help, Recovery that supports — and exactly one soft membership nudge. No prices, no hard sell. The result is also shareable (encoded in the URL) and printable (it injects a QR code that deep-links straight to booking).

thewell.africa/guide
The Well Guide quiz — 'find your pathway / how are you feeling right now?' with feeling options to choose from.
thewell.africa/guide?s=…
The quiz result — 'YOUR PATHWAY — Reset' with a personalised 'why this matched' line and three education cards, no prices.

Left: three plain questions about how you feel right now. Right: a result that teaches rather than sells — a "why this matched" line, three education cards, and a single soft nudge.

The Well Guide quiz on a phone — the 'how are you feeling right now?' question, designed mobile-first.
The quiz, on a phone
◇ For engineers The rubric, the shareable URL, and the printed QR

The Guide is a 3-question rubric: each answer contributes weighted points toward the three pathways, and the highest score selects Reset, Revitalise or Deepen — with the "why this matched" copy generated from the same signals, so the explanation always agrees with the result.

The full result is encoded in the URL as a compact ?s= state parameter, which is what makes it shareable: send the link and the recipient lands on the exact same pathway page without re-taking the quiz. On print, the page injects a QR code that deep-links to booking, so a paper hand-out still walks a visitor straight to the right classes.

04 — One coherent idea

One idea, everywhere

The Reset / Revitalise / Deepen taxonomy isn't just a quiz gimmick — it's a single language for "where you are right now" that threads through the whole site. The same three pathways drive the pathway pages, colour the chips on the live class list, and become the email tags a visitor is assigned — so every touchpoint speaks the same, coherent language.

thewell.africa/booking
The by-pathway live class list — upcoming classes tagged with Reset, Revitalise and Deepen chips so a visitor can book along their pathway.
The same three pathways from the quiz reappear as chips on the live class list — the taxonomy is the connective tissue between "how you feel" and "what you book".
05 — The technical centerpiece

A calendar that keeps itself current

The client's booking system, Rezerv, has no public API. Its off-the-shelf widget works, but it can't be styled to feel like The Well and it can't understand pathways. So Brightwork found the private API its own widgets use and built a live, native class list on top of it — one that belongs to the brand, not to a third-party embed.

Two genuinely hard problems came with that. First, staying current: Rezerv creates a brand-new class category every month, so any hardcoded list quietly goes stale. Our list rebuilds the category list live from the API, so a new month simply appears — zero code changes, nobody to remember. Second, pathway chips: because the stock widget can't tag classes by pathway, we built a custom class list that matches each class to Reset / Revitalise / Deepen and colours it accordingly, with a graceful "taking a moment" fallback if the API is ever down.

And a quieter detail that matters: the calendar anchors to Johannesburg business time, so it opens on "today" for a visitor in any timezone — not yesterday for someone loading it from another continent.

thewell.africa/events
The events page — live, editorially-presented upcoming events hydrated from the Rezerv timetable.
The events page: an editorial layout hydrated with live data from the booking system — always current, never a stale hardcoded list.
The by-pathway live class list on a phone — Reset/Revitalise/Deepen chips on upcoming classes, mobile-first.
Book by pathway
◇ For engineers Reverse-engineering Rezerv, live category rebuild, and pathway mapping

The class list talks directly to the private widget-api.rezerv.co/v1/public surface — chiefly /classes and /timetable — the same endpoints Rezerv's own widgets call. On load it rebuilds the category list live from /classes, so when Rezerv rolls a new monthly category the site picks it up with no deploy: the "self-updating calendar" is really a refusal to hardcode what the API already knows.

Pathway chips come from a substring → pathway mapping: class names are matched to Reset (Mousse), Revitalise (Clay) or Deepen (Root), and coloured with the brand tokens already in the theme — no new palette, just the pathway's own colour. If the API is unreachable, the list degrades to a calm "taking a moment" state rather than an error.

The events page runs a two-pass, editorial + live merge: a curated editorial layer is hydrated against a concurrent scan of /timetable, results cached in localStorage for ~20 minutes to keep it fast and kind to the API. Every business date is anchored to Africa/Johannesburg, so "today" is the studio's today regardless of the visitor's own timezone.

06 — Breadth

Everything under one roof

Under the brand and the booking sits a lot of surface area. We built four membership tiers — Origin, Stream, Well and Source — a full massage menu (deep tissue, hot stone, lymphatic, Kahuna, Thai, mother-to-be and more), and The Well Collective of practitioner services (Reflexology, Reiki, Crystal Therapy, Jin Shin Jyutsu, and others).

Around 30 individual pages for classes, therapies and recovery give each offering its own home, and an accessible FAQ ships with FAQPage JSON-LD so search engines and answer engines can read it directly.

thewell.africa/collective
The Well Collective — practitioner services including Reflexology, Reiki, Crystal Therapy and Jin Shin Jyutsu.
thewell.africa/thermal
A treatment detail page — one of ~30 individual class, therapy and recovery pages, here a thermal treatment.

Memberships, the massage menu, the practitioner Collective, and per-treatment detail pages — one coherent brand across a wide catalogue.

The membership tiers on a phone — Origin, Stream, Well and Source, mobile-first.
Memberships
The massage menu on a phone — the full treatment list, designed mobile-first.
Massage menu
A treatment detail page on a phone — a thermal treatment page rendered mobile-first.
A treatment page
07 — Working with the client

Built from the client's own words

The best part of this build is how the client's feedback became the work. A submittable review checklist turned their notes directly into GitHub issues, and of the ten items approved, eight were built by AI agents — three running concurrently, across two waves — and shipped live. Feedback in one end, shipped changes out the other.

A client screen recording did something a spec never could: it exposed a booking dead-end on the events page, which we turned into a concrete, measured reorder rather than a vague "make booking easier". Watching a real person get stuck is worth a hundred assumptions.

Craft is also restraint
  • Their decisions, respected. We kept the Services page and the "credit" wording exactly as the client asked — even where it ran against our own conversion research. It's their brand; our research is advice, not a veto.
  • No invented prices. We never displayed a price the client hadn't confirmed. Where a number wasn't set, the page simply doesn't pretend to know it.
  • Feedback as a pipeline. The review checklist → GitHub issues → agent build → live loop is how a small team turns a client's own words into shipped changes, fast.
08 — How we build

Built by a team of AI agents

The Well was built the way Brightwork builds everything — with a coordinated team of AI agents, orchestrated by Loom on GitHub. Every task became an issue, built on its own branch, reviewed as a pull request, and merged when it was clean. Over the build that added up to roughly 545 commits, with concurrent builder agents moving work in parallel.

~545 commits
Shopify custom theme
Rezerv live integration
3×2 agents · waves

The assembly line

Issue

A task is filed on GitHub — a feature, a fix, an idea.

Curate

An agent enriches it into a clear, buildable spec.

Build

A builder agent implements it in an isolated worktree, opens a PR.

Review

A judge agent reviews the PR for quality and safety.

Merge

A champion agent merges it — and the change ships.

The result is a build process that's fast, parallel and — crucially — auditable: every decision lives in a pull request you can still read. And in the same spirit, this very case study was built the same way, as a tracked GitHub issue run through a Loom cycle.

◇ For engineers The Loom role model

Loom coordinates agents through GitHub as the shared source of truth, with one git worktree per issue (branch feature/issue-N) so agents work in parallel without colliding. Labels drive the state machine (loom:issueloom:buildingloom:review-requestedloom:pr). The client's own review round — issues #60–#65 — was built three agents concurrent, across two waves. The roles:

  • Curator enriches a raw idea into a spec-ready issue
  • Builder implements it in an isolated git worktree, opens a PR
  • Judge reviews the PR for quality, security & correctness
  • Champion auto-merges once it is clean and mergeable
  • Hermit hunts down complexity and proposes removing it

Governance is deliberate: a capped number of parallel agents, no unattended daemon, and auto-merge restricted to pull requests GitHub reports as genuinely mergeable and clean.

09 — The result

The result

The Well is live at thewell.africa: a warm brand site, a quiz that guides rather than sells, a class calendar that's always current, and memberships — all mobile-first, and shipped fast because AI agents turned the client's feedback straight into shipped changes. A bookable wellness brand, built end to end.

The brand

A bespoke Shopify theme with ~90 custom sections — warm, editorial and unmistakably The Well, not a template.

The booking

A live, self-updating class list on Rezerv's private API, with pathway chips and correct Johannesburg dates.

The delivery

~545 commits by AI agents, with client feedback turning into live changes in the same short cycle.

What we built

Brand & theme
  • Bespoke Shopify theme "Oasis" — ~90 hand-built theme sections, no template drop-in
  • Cinematic hero word-by-word reveal, film grain, parallax
  • Editorial system Root / Mousse / Clay palette, Arsenal + Poppins type
  • Story tiles homepage narrative modules in the brand voice
Booking & personalization
  • Rezerv live integration native class list on the private widget API
  • Self-updating calendar category list rebuilt live — new months, zero code
  • The Well Guide quiz 3 questions → Reset / Revitalise / Deepen
  • Pathway taxonomy one language across quiz, chips and email tags
Breadth
  • 4 membership tiers Origin · Stream · Well · Source
  • Massage menu deep tissue, hot stone, lymphatic, Kahuna, Thai, more
  • The Well Collective Reflexology, Reiki, Crystal Therapy, Jin Shin Jyutsu…
  • ~30 detail pages individual class, therapy & recovery pages
Craft & delivery
  • FAQPage JSON-LD structured data for search & answer engines
  • Accessibility semantic headings, alt text, keyboard-navigable
  • Mobile-first every page designed for the phone first
  • Loom + GitHub AI agents building through issues & pull requests

This is what Brightwork does for website clients: a brand you can feel, a booking experience that runs itself, and a build fast enough to turn your feedback into live changes.

Visit the live site
LIKE WHAT YOU SEE?

Got a brand to build —
and a booking flow that should just work?

That's exactly the kind of work we love. Tell us about your project — we'll show you what a hand-built brand site plus a live booking integration, delivered by AI agents, can do.