PROJECT: PORTFOLIO OF S. YATES-SMITH · SHEET 1 OF 1 · REV B
← Back to the figures

Case file · Client work

Chantry Studios

The brief: A dance studio in Bromley with classes, instructors and studios to hire, and no single place people could find any of it. It runs as a static React site — no backend, no CMS — so it's quick and costs almost nothing to host.

What it does now: It sells. Events and retreats take bookings and payment, with terms, health screening and dietary needs collected before checkout rather than chased afterwards.

The Chantry Studios homepage — a hand-lettered welcome banner over the line "Yoga, Dance & Wellness Studio in Bromley".

Static, on purpose

No backend and no CMS. Classes, instructors and the timetable live in the codebase, and the whole site deploys as static files to shared hosting.

For a studio whose timetable changes a few times a term, a database and an admin panel would have been another thing to break and another thing to pay for. Changes arrive as a commit instead, and the site stays fast on a hosting bill that rounds to nothing.

From a brochure to a booking

The first version answered what classes run, who teaches them and where the studios are. This summer it started taking money.

Events and retreats now sell places through Stripe, and the things that matter get collected before payment rather than after it: terms accepted, health screening done, dietary requirements captured. Handing someone straight to a checkout and asking the important questions later is how you end up chasing people by email for a fortnight.

I review my own delivered work

In June I went through the site against the live version rather than against memory, and it turned things up. A share image pointed at a path that didn’t exist. A font preload fetched HTML because a filename had a space in it. A structured-data type was one that schema.org doesn’t define. Two pages disagreed about whether the studio is in Bromley or London. All fixed the same day.

Several had been live for weeks without ever erroring visibly, because the server’s catch-all rule answers a missing file with the homepage and a cheerful 200. Nothing broke loudly. That is precisely why nobody had noticed.

Still going

Timetables get updated, instructors come and go, copy gets edited with the owner. React and Material UI, Stripe for payments, plain Apache hosting underneath.

Next case file

This website →

Its own case study — hand-coded, no tracking, and a running list of what I'd do differently.

Or

Working on something like this?

Email me