Cinematic web

Turns a flat website into a landing page with cinematic motion, in a day or two.

Web and interface · JavaScript · Browsable demo

Cinematic web

The problem

The motion that sets an expensive website apart is usually solved with AI-generated video: heavy, billed monthly, and it ages badly. Building it in code weighs a fraction, looks the same or better, and carries no subscription.

What it does

  • Eight reusable cinematic modules: scroll parallax, reveals, interactive galleries and real-time 3D.
  • Motion is built with GSAP and React Three Fiber, in code, not with video.
  • A documented five-phase process, from analysing the original site to delivery.
  • Deployed, browsable demo.

What was decided while building it

Motion is built in code, not filmed
There is not a single video in the project. Solving motion with generated video is heavy, costs money every month and ages badly: changing a headline means regenerating it. In code, the headline is text — indexed, translated and corrected in a minute.
Each module cleans up after itself
Animations are registered with their own scope, so they leave when the component unmounts. Without that, scroll-linked animations pile up as you navigate between pages and the site gets slower with nothing ever raising an error.
3D is rationed: one section, not the whole page
Seven of the eight modules are two-dimensional motion and only one mounts a three-dimensional scene. The 3D library is the expensive part of the bundle: a landing page that does not need it stays at a fraction of the weight simply by leaving that module out.
Branding enters through variables, not find-and-replace
Colours, typefaces and brand copy live in a single object injected as style variables at start-up. For a new client you replace that object and the whole site re-themes itself, instead of chasing colour codes across twenty files.

How far it goes

  • What is published is the module pack and a template that builds. The five-phase process is documented, not automated: no script runs it.
  • The demo brand is invented. Name, address and copy belong to a business that does not exist: it is there to show the motion, not as a client case.
  • Including the three-dimensional scene takes the bundle to a little over three hundred kilobytes compressed. That is the cost of real-time 3D, and it is worth deciding at the start rather than at the end.
  • The full process, as documented, leans on external services with their own keys for imagery. That part is not solved in the repository.
  • 8 motion modules
  • 0 videos
  • 5 documented phases

Built with

  • Vite
  • React
  • GSAP
  • React Three Fiber

Backs this service

Website and online shop design

Read the code · Open the demo