Skip to content
All work

Decode & Design 2026

Decode Somnia

A scroll-driven WebGL story about letting go of a thought before sleep.

Breathe chapter: Pull the fragments together. Breathe.
Context
Decode & Design 2026
Stack
Next.js, React Three Fiber, GSAP, Lenis, Zustand, Howler

The problem

Most wind-down apps are lists and timers. The brief asked for an experience that changes how you feel, not one more screen to manage.

How it works

  • The story starts by asking one question and uses the answer in its first chapter's title.
  • A single pinned GSAP ScrollTrigger timeline drives the scene through four acts, with Lenis smoothing the scroll.
  • The breathe chapter paces a four-second-in, six-second-out rhythm with light and sound.
  • State lives in a small Zustand store shared by the WebGL scene, the overlay and the audio.

The result

One 15,000-pixel scroll timeline coordinates the 3D scene, post-processing, audio and type, with your own words in the story.

Break chapter: Watch it break. It is only weight.
Break chapter: Watch it break. It is only weight.
Entry screen asking: What is keeping you awake?
Entry screen asking: What is keeping you awake?
Next projectStockSense