Case study · 2026

Le jardin d'Ana

The site of a fictional sound therapy practitioner: a sound garden you can touch, guided breathing and shapes that breathe. Design, illustration and code.

Role
Design, illustration and development, solo. Code written with Claude.
Stack
Next.js · React · TypeScript · Payload CMS · MongoDB · GSAP · Web Audio API · Tailwind CSS
Status
Live demo, fictional content

jardin.webjuno.com

01Context

Make people feel calm, rather than describe it.

A sound therapy session is something you hear and feel. On a screen, sound, slowness and the body are hard to convey.

I designed the site of Ana, a fictional practitioner, as a small garden: you listen to instruments, you breathe, and shapes move slowly around the text. The site makes you want a session through experience, not promises.

  • The need

    A showcase site for a sound therapy practitioner: present her approach, sessions and prices, and receive booking requests. The content is fictional, but the site really works.

  • My role

    Everything, solo: art direction, illustration, interface design, development and deployment. The code was written hand in hand with Claude, Anthropic's AI.

  • Constraints

    No photos. Slow animations that stop when asked to. Text the practitioner can edit on her own, without touching code.

02Before / after

From stock photos to breathing shapes.

The first version relied on stock photos and standard cards. It looked like many other wellness sites. I reworked everything to give the site a voice of its own.

Before

First version of the home page: photos of bowls and sessions, rounded cards and a beige background.
v1 · 2025 — stock photos and standard cards.

After

Current home page: a large heading on a cream background, pale sage and sand organic shapes, and line illustrations.
v2 · 2026 — organic shapes, illustrations and interactions.

What changed

  • Photos give way to risograph-style illustrations.
  • Rectangular cards become slowly moving organic shapes.
  • Sound comes into the site: a sound garden and a guided breathing page.
  • Text moves into a CMS and can be edited without touching code.

03Art direction

A garden palette, two soft typefaces.

The cream background and very dark green ink set a calm tone. Earth brown is for buttons, copper for decoration only. The large shapes use a very pale sage and sand. The deeper tones are kept for the illustrations, drawn in a risograph style: an ink line and a slightly offset flat colour.

Fraunces, a soft serif, carries the headings. Figtree, a rounded sans-serif, carries the body text and interface.

Colours

  • Earth#8B5A2B

    Buttons

    White text 5.84:1

  • Copper#B9774A

    Decoration

    Black text 5.80:1

  • Sage#A9B78A

    Illustrations

    Black text 9.82:1

  • Sand#D4A373

    Illustrations

    Black text 9.28:1

  • Cream#FBF7EA — Background
  • Pale sand#F3E6CC — Cards and section backgrounds
  • Pale sage#E3E8CC — Large shapes
  • Ink#2F3A2B — Text

Typefaces

  • Fraunces

    Headings

  • Figtree

    Body text and interface

04Interactions

A site you can hear, touch and breathe with.

Three rules guide the interactions: everything is slow, no sound plays without a gesture from the visitor, and everything stops if they asked for reduced motion.

A sound garden you can touch.

The scene brings together four instruments: a bowl, a gong, wind chimes and a tubalophone. Touch one, it plays, and a wave ripples out from it. Further down the home page, all five instruments, tuning fork included, can be played the same way.

Sounds are played with the Web Audio API. The tubalophone is fully synthesised; the other sounds are royalty-free recordings. Nothing plays without a gesture, and a button mutes the sound.

A wave that draws itself as you scroll.

A sound wave runs through the home page. It draws itself as you scroll, with GSAP, and links the sections like a thread you follow.

Shapes that breathe.

The organic backgrounds gently animate their outlines, each at its own pace, over 6 to 10 seconds. The large blob on the home page follows cardiac coherence: 5 seconds in, 5 seconds out.

If the visitor has turned on reduced motion in their system, everything stops.

The Breathe page guides a breathing exercise. You choose the session length and the length of the inhale and exhale (3 to 8 seconds), then follow the shape and the countdown.

  1. The Breathe page before starting: session length (1, 3 or 5 minutes) and inhale and exhale settings in seconds.

    Settings

    Durations are set before starting.

  2. During the inhale: the shape grows and the countdown runs.

    2,5 s

    Inhale: the shape grows, the countdown runs.

  3. End of the inhale: the shape is at its largest.

    5 s

    End of the inhale: the shape is at its largest.

  4. During the exhale: the shape gently shrinks.

    7,5 s

    Exhale: the shape gently shrinks.

05Responsive

The same calm on a phone.

On mobile, sections stack into one column and the shapes tighten around the text. The sound garden and the breathing page stay playable with a finger.

The home page on a 1440-pixel-wide desktop screen.
The same home page on a phone, in a single column.
The home page at 1440 px and 390 px.
The Breathe page on desktop.
The Breathe page on a phone.
The Breathe page at 1440 px and 390 px.

06Under the hood

A showcase site the practitioner can run on her own.

Behind the softness, a solid base: a CMS for the text, pages rendered on every visit and a secure deployment.

Under the hood

  • Next.js and React

    Next.js 16, React 19 and TypeScript. Pages are rendered on every visit, so an edit in the admin shows up right away.

  • Payload CMS

    Payload CMS 3 and MongoDB. All the site's text can be edited in a French-language admin interface.

  • Accessibility

    At least 4.5:1 contrast on text, and no animation if the visitor asked for reduced motion.

  • Deployment

    Heroku behind Cloudflare, security headers, automatic deployment from GitHub. The contact form is protected against spam.

In figures

  • 5.45:1

    minimum contrast

    Cream text on the earth-brown buttons, the lowest of the text and background pairs measured on the 6 public pages, jardin.webjuno.com, October 2026

  • 98

    accessibility, out of 100

    Home page (99 on the Breathe page). Lighthouse mobile, median of 3 runs, jardin.webjuno.com, October 2026

  • 100

    best practices, out of 100

    Home page and Breathe page. Lighthouse mobile, median of 3 runs, jardin.webjuno.com, October 2026

  • 610 KB

    transferred for the home page

    First load without cache, including 256 KB of preloaded garden sounds. Lighthouse mobile and Chrome, jardin.webjuno.com, October 2026

Components and illustrations

One visual language for the scene, the instruments, the vignettes and the portrait: an ink line, an offset flat colour. Each illustration is an SVG file.

  • The full sound-garden scene, in ink line with sage and copper flat colour.
    The sound-garden scene.
  • Five illustrated instruments side by side: bowl, tuning fork, gong, wind chimes and tubalophone.
    The instruments.
  • Four vignettes: a stress spiral, stacked pebbles, a plant under the moon, leaves drifting away.
    The “Sound familiar?” vignettes.
  • Portrait of Ana, a fictional character, eyes closed, holding a singing bowl.
    Ana, a fictional character.

Visit the live site

jardin.webjuno.com

Demo site designed and built by Webjuno. All content is fictional.