Help
How to make Tidal yours
What to change in each section, how the CMS is organised, and how to tune or switch off the breathing piece. About two hours for brand, colours, ten photos and the home copy.
Home page, section by section
Hero
Swap img/hero-window-seat.jpg (keep a calm photo with space on the left). Edit the eyebrow, the two-line title, the lead and both buttons. The faces come from the Therapists collection.
Breathing card
The signature. Turn it off, change its rhythm or colours in the TIDAL_BREATH object (set once in build.py, inlined into every page). With it off, the card shows a still disc and the word “Breathe”.
Numbers
Four facts. Keep them true for your practice; delete any you can’t back up.
Services, team, journal, questions, voices
All come from the CMS. Edit the JSON in cms/ and run python3 build.py to re-bundle it into js/cms-data.js.
Testimonials
Only publish words from people who have finished, with written consent, anonymised. Check your professional body’s rules; some forbid testimonials entirely. If so, delete the section.
Crisis note
Required on a mental-health site. Replace 024 and 112 with your country’s numbers (UK: Samaritans 116 123 and 999; US: 988 and 911).
Forms
Point each form’s action at your email handler or a webhook (they are plain HTML forms). Keep the privacy checkbox.
Footer
The giant wordmark is plain text: type your practice’s name. The dot after it breathes.
CMS collections
Five collections, connected by reference: a service lists its therapists; an article has an author and a service; a testimonial points to a service. Each item keeps its English fields at the top level and its Spanish under "es".
Services cms/services.json
slugSlug (plain text, unique). Page URL: /services/{slug}
orderNumber. Sort order on lists
featuredToggle. Shown on the home page
titlePlain text. Service name
kickerPlain text. One short line above the title
summaryPlain text. One or two sentences for cards and meta description
imageImage. File name in /img
image_altPlain text. Alt text for the image
focalPlain text. CSS object-position, e.g. '50% 30%' (image focal point)
formatPlain text. In person, online or both
durationPlain text. Session length
price_fromPlain text. Lowest price, shown as 'from'
therapistsMulti-reference → therapists. Who offers it
signsPlain text list (array), one item per line. 'You might recognise'
bodyFormatted text (HTML). How the work goes
Therapists cms/therapists.json
slugSlug (plain text, unique). Page URL: /team/{slug}
orderNumber. Sort order
namePlain text
rolePlain text. Job title as registered
shortPlain text. One line for cards
photoImage. 4:5 portrait
photo_altPlain text
focalPlain text. CSS object-position (image focal point)
registrationPlain text. Licence or registration number (demo values are fictional)
languagesPlain text
yearsNumber. Years in practice
approachesPlain text list (array). Methods used
servicesMulti-reference → services
quotePlain text. A line in their own words
bioFormatted text (HTML)
availabilityPlain text. When they see people
scopePlain text, optional, two or three words. Shown as a tag on cards and profiles when someone is NOT a registered health professional (coaches, teachers). Leave empty for psychologists and therapists
Articles cms/articles.json
slugSlug (plain text, unique). Page URL: /journal/{slug}
dateDate (YYYY-MM-DD)
featuredToggle. Large card on the journal index
topicOption: Breathing, First steps, Couples, Families, Low mood, Grief, Work
titlePlain text
excerptPlain text. One or two sentences for cards and meta description
coverImage
cover_altPlain text
focalPlain text. CSS object-position
readNumber. Minutes to read
authorReference → therapists
serviceReference → services. Related service
bodyFormatted text (HTML)
Testimonials cms/testimonials.json
slugSlug (plain text, unique)
orderNumber
quotePlain text. The words as given, edited only for length
whoPlain text. Anonymised: initial, age range and what they came for. Never a full name or photo
serviceReference → services
consentPlain text. How and when consent was given. Shown under the quote
homeToggle. Shown on the home page
FAQs cms/faqs.json
slugSlug (plain text, unique)
orderNumber
categoryOption: first-steps, sessions, fees, privacy
homeToggle. Shown on the home page
questionPlain text
answerFormatted text (HTML)
Changelog
2.1 · 26 Sep 2026
QA pass: crisis note rewritten (024 and 112), the coach marked as non-clinical on cards and profile, one testimonial per service, a new burnout article, journal filter with an empty state, Spanish with no English leftovers, numbers that never split from their unit, stronger contrast over photos, a full-width footer mark and lighter CMS images.
2.0 · 26 Sep 2026
Multi-page: 17 pages, 5 CMS collections, photo hero, 37 photos in one grade, motion system, page transition, and the breathing piece isolated in one module with options and a static variant.
1.0 · 25 Sep 2026
One page with the breathing word, the one-minute exercise and the crisis note.