Showcase · Xreative

A website that scrolls like film — and still stays under 10 MB.

Xreative is the lab's web design track: two agency sites and twenty-six complete demo sites, all live on their own domain. This page explains how they come about — the image pipeline that turns two keyframes into a scrollable video, and the code pipeline that builds a page out of it which meets the frame budget. What is for sale is on the sites themselves; here you only get how it was made.

26
live sites on their own domain
1,273
URLs crawled, 0 broken
≤ 10 MB
frame budget per cinematic hero
2
production lines: imagery and code
Two sites, two theses

The same lab, two different answers

One site proves that you can compute a cinematic hero in full — no image model, no stock, only code. The other proves the opposite: that AI imagery and a hand-written frontend can carry a brand together. Both run on the same edge, to the same QA bar.

Xreative — hero “Wij schrijven websites” with typographic noise
Agency site

Xreative

The agency itself. A hero that moves from typographic noise to a tight grid in 180 frames — rendered entirely procedurally, no AI imagery, no stock. Below it four price tiers with twenty complete example sites.

Vite + GSAP180 procedural frames20 examples
View live
Xreative Studio — hero with warm gold light on glass
Studio site

Xreative Studio

The older sister site, with a different thesis: cinematic brand sites in which AI imagery and a hand-written frontend come together. Six of those brands are live on their own subdomain — all reachable from this page.

AI keyframes + Veo6 brand sitesedge deploy
View live
Architecture

From two keyframes to a scrollable hero on the edge

Putting a video on a page is easy; making it respond to the scroll is not. The solution is not to play the video but to take it apart: 144 to 185 still images that the canvas draws based on scroll position. The whole chain is set up so that sequence stays under 10 MB.

Keyframes first + last frame in the brand palette Flow / Veo transition between A and B 8s · 1920×1080 · 24fps ffmpeg 144–185 frames + crossfade width → budget ≤10 MB Scroll hero canvas + ScrollTrigger 300vh pin · scrub 0.8 Vite / Astro build → Playwright QA → Cloudflare Pages & Workers 0 console errors as the bar · link crawl over all assets · deploy to the edge, no open port
How it works

Two chains that meet in the build

The image chain

  1. Generate keyframes with an image model — first and last frame of every transition, in the brand palette
  2. Feed those two keyframes to Google Flow/Veo as start and end point, which produces a smooth clip in between
  3. Clean up watermark residue and artefacts with our own scripts (desparkle.py, mirrorfill.py)
  4. ffmpeg extracts the frames from the merged clips, with a crossfade at the seam — 144 to 185 per site
  5. Width per site chosen so the whole sequence stays under the 10 MB budget (920–1536 px)
  6. GSAP ScrollTrigger pins the hero for 300vh and draws frame ⌊scroll × N⌋ onto a canvas, where N is the frame count of that site
  7. prefers-reduced-motion gets a single static end frame — no scrub, no pin

The code chain

  1. Every price tier is its own build system: static, Astro or Vite — no shared monolith
  2. collect-demos.sh assembles the 20 builds into a single /voorbeelden/ tree in the main site
  3. Fonts self-hosted via @fontsource-variable; no Google Fonts request from the page
  4. Playwright runs QA: 9 scroll positions × desktop/mobile, and fails on every console error
  5. A crawler walks every internal link and asset — the last run: 1,273 URLs, 0 broken
  6. Cloudflare Pages for the sites, a Worker with static assets for the studio site
  7. The contact form goes to a separate Worker with an Email binding, because Pages Functions do not know send_email
Twenty examples

Four tiers, four different build systems

The example sites are not mockups but complete sites, each with its own navigation, content and pages. Deliberately increasing in technical weight, so that you can see from the build what a tier means — not just from the price.

Six brands on their own subdomain

The same pipeline, six different stories

What is interesting about a pipeline is not the first time it works, but the sixth. These brands share not a single line of content and yet share the same chain: keyframes, video, frame extraction, canvas scrubber. All six fictional — they are design studies, not clients.

What honestly belongs with this

All brands shown are fictional: they are design studies to demonstrate the pipeline, not clients. The figures on those sites — revenue, years, counts — belong to that fiction. When three hero videos were missing they were first synthesised locally from the existing keyframes; those versions were later replaced by real Veo clips and kept as .synth.bak.mp4, so the difference stays traceable. And the QA above measures what it says it measures: internal links and assets, not whether a text reads well.

Built with ViteAstroGSAP ScrollTriggerffmpegGoogle Flow / VeoPlaywrightCloudflare PagesCloudflare WorkersEmail Routing@fontsource-variable
See it yourself

Both sites are live on their own subdomain

Xreative is the agency with four price tiers and twenty example sites. Xreative Studio is the cinematic line, with six brand sites on their own domain. Scroll through both — that is where you really see the pipeline.