07 · Yoga retreats · Belgium · 2026

Yoga, Zen & Tonic — one studio runs the whole business.

A bilingual site for a yoga duo’s retreats, classes and events — and, behind it, a Sanity Studio made for them. Rita & Philippe run sign-ups, mails, the contact book, newsletters, photos and every page from one place, often from a phone.

Role
Design, build & CMS
Year
2026
Sector
Wellness · Retreats
Stack
Next.jsSanityResendGemini
Yoga, Zen & TonicA working replica of their Studio — click around
Sign-ups

Anna Peeters

New

Signed up on 6 Nov 2026, 09:14 · NL

Eifel: Yoga & Hike19 Nov 2026 – 22 Nov 2026Booked 4 / 8 · 4 left
Status
E-mailanna.peeters@telenet.be
Phone0470 12 34 56
Room / priceGedeelde kamer · € 545
Hoe wil je verdergaan?Inschrijven
Ervaring met yoga1 – 3 jaar
Diet or allergiesVegetarisch
Questions or remarksKan ik ter plaatse een yogamat lenen?
Agreed: data · termsYes · Yes

A working replica of their Studio · confirm a sign-up, send the newsletter, translate a retreat

// The brief

One login instead of six tools.

Before, a retreat lived in Google Forms, a spreadsheet, Gmail, Mailchimp, Facebook and a website — each with its own login and its own copy of the guest list. Nothing knew how many places were left.

Rita & Philippe aren’t technical, and they edit on their phones between classes. So the brief was not “a CMS”: it was one place that runs the business, and explains itself on every field.

[ sign_ups ]
Forms → sign-ups → seats

Their own form builder with steps and conditional questions. Each sign-up opens as a readable card; one status click recomputes the places left on the site.

[ mails ]
Mails they can write

Confirmation, waiting-list and newsletter mails are documents with a live HTML preview, a test-to-myself button and Resend delivery.

[ contact_book ]
Every person, once

Sign-ups, messages, reviews and subscribers merged into one row per e-mail address — with consent, unsubscribes, CSV import and export.

[ i18n_ai ]
NL · EN, with ✨

Field-level translation with NL | EN tabs. One click translates a field, a bulk tool translates every document still missing English.

// The studio

What runs through it

29 document types, 24 custom Studio components, at most two clicks to any document.

01RetreatsOne document per retreat, tabs in page order, an overview of what’s still empty
02Sign-up formsSteps, conditional questions, “Other: …”, a form per retreat or the default
03Sign-upsStatus chips, a readable card, a table with CSV, live “booked” per retreat
04MailsConfirmation, waiting list and receipts — editable, previewed, tested
05Contact bookOne row per address, from every form, newsletter on/off
06NewslettersRetreat cards, an audience, a test mail, then sent once
07Photo bankEvery photo stored once, with hotspot and AI alt text
08ReviewsCome in private, go public without the e-mail address
// Studio UX

Rules that came from watching them edit

Sanity’s defaults are built for developers. Every change below fixed something that confused the people who use it every day.

[ where_it_goes ]
Every field says where it shows

Not “Title”, but “the big title on the card and in Google” — behind a small ⓘ, so help costs no space.

[ two_clicks ]
Two clicks to anything

Groups, then documents. Page singletons sit on top of their list; states are filter chips, not extra panels.

[ no_red ]
No red for “not done yet”

Empty is not an error: in progress is blue, done is green. Red stays for real mistakes.

[ placeholders ]
[Brackets] never go live

Any text still in [brackets] warns in yellow and lands in one “still to fill in” list.

[ one_row ]
Dense but readable

Short fields take one row — title, input, NL | EN, ✨ — so a retreat fits on a phone screen.

[ live_preview ]
Edit with the page next to it

Presentation mode with drafts and click-to-edit; publish triggers a webhook that revalidates the static site.

1
Studio for sign-ups, mails, newsletters and every page
0
Extra tools — no Google Forms, Mailchimp or spreadsheets
2
Languages per field, with AI translation
“
Explain where the value goes. Every field says where it appears on the site — and what it’s for.
// Studio UX rule n° 1 — studio/SANITY-UI.md
// Gallery

Through the site