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

  • slug

    Slug (plain text, unique). Page URL: /services/{slug}

  • order

    Number. Sort order on lists

  • featured

    Toggle. Shown on the home page

  • title

    Plain text. Service name

  • kicker

    Plain text. One short line above the title

  • summary

    Plain text. One or two sentences for cards and meta description

  • image

    Image. File name in /img

  • image_alt

    Plain text. Alt text for the image

  • focal

    Plain text. CSS object-position, e.g. '50% 30%' (image focal point)

  • format

    Plain text. In person, online or both

  • duration

    Plain text. Session length

  • price_from

    Plain text. Lowest price, shown as 'from'

  • therapists

    Multi-reference → therapists. Who offers it

  • signs

    Plain text list (array), one item per line. 'You might recognise'

  • body

    Formatted text (HTML). How the work goes

Therapists cms/therapists.json

  • slug

    Slug (plain text, unique). Page URL: /team/{slug}

  • order

    Number. Sort order

  • name

    Plain text

  • role

    Plain text. Job title as registered

  • short

    Plain text. One line for cards

  • photo

    Image. 4:5 portrait

  • photo_alt

    Plain text

  • focal

    Plain text. CSS object-position (image focal point)

  • registration

    Plain text. Licence or registration number (demo values are fictional)

  • languages

    Plain text

  • years

    Number. Years in practice

  • approaches

    Plain text list (array). Methods used

  • services

    Multi-reference → services

  • quote

    Plain text. A line in their own words

  • bio

    Formatted text (HTML)

  • availability

    Plain text. When they see people

  • scope

    Plain 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

  • slug

    Slug (plain text, unique). Page URL: /journal/{slug}

  • date

    Date (YYYY-MM-DD)

  • featured

    Toggle. Large card on the journal index

  • topic

    Option: Breathing, First steps, Couples, Families, Low mood, Grief, Work

  • title

    Plain text

  • excerpt

    Plain text. One or two sentences for cards and meta description

  • cover

    Image

  • cover_alt

    Plain text

  • focal

    Plain text. CSS object-position

  • read

    Number. Minutes to read

  • author

    Reference → therapists

  • service

    Reference → services. Related service

  • body

    Formatted text (HTML)

Testimonials cms/testimonials.json

  • slug

    Slug (plain text, unique)

  • order

    Number

  • quote

    Plain text. The words as given, edited only for length

  • who

    Plain text. Anonymised: initial, age range and what they came for. Never a full name or photo

  • service

    Reference → services

  • consent

    Plain text. How and when consent was given. Shown under the quote

  • home

    Toggle. Shown on the home page

FAQs cms/faqs.json

  • slug

    Slug (plain text, unique)

  • order

    Number

  • category

    Option: first-steps, sessions, fees, privacy

  • home

    Toggle. Shown on the home page

  • question

    Plain text

  • answer

    Formatted 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.