EP
07 of 08
Client work
07 — Frontend & motion, at GUT

Scroll-ledexperiences

Two builds where scrolling is the interface: an illustrated world you travel through, and a product launch where every element arrives on its own beat.

ClientMcDonald’s Spain
Stack
Vue 3GSAPScrollTriggerTailwind CSS
Context

What the problem was

Neither of these is a page with animation on top. One is an illustrated city you move through as you scroll, with phone screens composited into the scene to show what the app does; the other is a launch page where the product is picked apart on screen — a double-or-single switch and callouts pinned to the burger itself. The risk in both is the same: it looks superb on the machine it was built on and stutters on the phone it was made for.

myMcDonald’s — travelling through the sceneReel
Approach

What I did

01

One timeline per act, scrubbed by scroll

Each pinned act is a single GSAP timeline driven by ScrollTrigger rather than a pile of independent tweens, so the whole sequence stays in sync and can be retimed from one place.

02

Built the world in layers

The illustration is planes at different depths, and the scroll moves a camera across them instead of animating every element separately — which is what lets the scene keep moving while the phone screens inside it hold their own beat.

03

Pinned the callouts to the product

On the launch page the ingredient markers are anchored to the photograph, and the double-or-single switch swaps the product without tearing down the sequence around it.

04

Planned the degradation

A reduced-motion path that still tells the same story, and static frames underneath if the sequence never starts.

Performance

How it stays fast

  • Animation restricted to transform and opacity; no layout thrash
  • Illustration layers decoded before the act they belong to, not all at once
  • Timelines killed and rebuilt on resize rather than left running
Outcome

Both shipped with the motion intact — the illustrated journey survived client review without being cut back to a static page, and the launch page held its sequence on mid-range phones.

Reels recorded from the live builds
Visuals

Selected media

McExtreme — the launch sequenceReel
Product section with a double-or-single switch and animated markers calling out each ingredient
Callouts pinned to the product
Callouts pinned to the productStill
Split hero banner announcing the new sauce, product shot on one side and wordmark on the other
The launch banner
The launch bannerStill
Mobile version of the product switch with its ingredient markers
The same switch, on a phone
The same switch, on a phoneStill
Mobile launch page from the hero down through the embedded video
Mobile, top to bottom
Mobile, top to bottomStill
Client work built at GUT — the artwork belongs to the brandEyman Pashaliev