Climbing centres
Twelve centres, timetables that change weekly, and a rule agreed on day one: no PDF ever appears on this website again.

The studio's redesign was warm and confident and completely undermined by the old site's timetable strategy: a PDF per centre, exported from a spreadsheet, updated whenever someone remembered. The group's twelve centre managers were the real users, and none of them had ever been given a login worth having.
Where it started
Discovery mostly meant climbing, badly. We visited four of the twelve centres, watched what a Saturday morning does to the person running the front desk, and pulled the old site's analytics, which showed 70% of timetable views on phones and PDFs taking eleven seconds on the centres' own wifi. The no-PDF rule was agreed in that first meeting and written into the quote, where it remains the only clause of the contract anyone at the group can recite.
We built the managers' editing screens before the public timetable templates, which is backwards by most schedules and was the right way round here. If the managers wouldn't use it, nothing downstream mattered. The first version failed the phone test inside a minute (too many fields above the fold) and the version that shipped is the second.
The build
Timetables are entries. Sessions, coaches, prices and age ranges are fields, per centre and per day. That's what makes them legible on a phone, findable by search engines, and updatable in the gap between two inductions. Centres carry structured opening hours that publish as schema.org data, so the hours on Google and the hours on the site come from the same field, which ends a whole genre of one-star review.
Route setting closes a wall or two most weeks, and the old site had no way of saying so. A closure is now a pair of dates on the wall it affects. It shows against every session that uses that wall and clears itself when the setters finish, so nobody drives forty minutes to find the bouldering cave taped off.
Booking hands off to the group's existing platform by deep link, carrying the centre and the session with it, so the brand holds right up to the payment page without us rebuilding a checkout that already worked.
The control panel got the most design attention of anything, because a manager on a phone between inductions needs to see their centre, their timetable and nothing else, with sessions they can reorder with a thumb and a save button that does what it says. Craft's field layouts did most of it. Leaving things out did the rest.
One template layer, twelve centres
Craft's entry types did the structural work, but the speed came from what the twelve centres share: one layer of Twig, a settings entry per location for the things that differ, and nothing copied twelve times. A design amend lands everywhere at once instead of eleven times out of twelve, and it's why the thirteenth centre cost nothing in templates.
The timetable templates are fluid from a phone at the front desk up to the reception screens two centres run them on, with the type stepping up so today's sessions read from the back of the café queue. Motion barely features, on purpose. A manager with chalk on their hands wants taps that respond now, so states change instantly, and the one animation, a session settling into place after a reorder, switches off under reduced motion. Ability levels are icons with real text underneath rather than tooltips, because a screen reader can't hover and neither can a thumb.
Tested on phones, at the front desk
Before launch we sat two centre managers in front of a staging login and watched. Most field labels got renamed into front-desk language, an ability-level dropdown became tap-to-toggle icons, and the price field stopped accepting a pound sign because everyone kept typing one.
Forty timetable changes a week would flatten a naive cache, so pages purge by location tag. A manager saving Saturday's timetable clears their own centre's pages and nothing else, while the other eleven keep serving cached HTML. A save is live in a couple of seconds, which matters when the six o'clock class has just moved to seven.
Rollout went one centre at a time to begin with. The flagship went first and ran for a fortnight with its manager as the pilot, producing three small amends and one convert who ended up doing our training for us. Then the other eleven centres launched in two batches over a single week, each manager loading their own timetable as the training exercise. By the time the old site was switched off, every session on the new one had been entered by the person who'd be maintaining it.
Our managers change the timetable from the front desk now. I honestly never thought I'd see it.
After launch
Timetables now change about forty times a week across the group, and nobody emails the studio about any of it. When the group opened its thirteenth centre this summer, the studio designed the launch page, a manager copied a sister centre's timetable across in an afternoon, and we found out when the entry went live. The PDF rule has held.