Skip to content

Immersion is a timing problem

Your search, knit into cloth. The easing curve below is the argument.

Immersive website design is timed motion, not more effects.

Immersion is a feeling, and feelings are produced by timing. The shape of an acceleration curve, the half-second before a thing settles, the depth of a shadow that says "this lifts." It is almost never produced by adding more — more particles, more scroll effects, more noise. The playground above lets you dial a real easing curve and copy the CSS it makes.

That is the whole angle of this page. Not a gallery of pretty sites, not a catalog of patterns — the physics of feel: what makes motion read as alive instead of mechanical, and how to get it without making anyone queasy or blowing your performance budget.

I'm David Weaver — engineer, novelist, Roblox developer, and the person who built the interactive WebGL loom on the homepage of this site. You can pull it apart on your phone right now. That is the same discipline you would be hiring, and it answers the contact form too.

01

Easing playground — tune a curve, copy the CSS

Easing / cubic-bezier playground

Pick an easing, scrub duration, replay the motion, copy the CSS. Same craft that separates flat sites from immersive ones — free to steal.

Duration: 800ms

Best for: Hero entrances, page reveals

transition: transform 800ms cubic-bezier(0.22, 1, 0.36, 1);

02

Why a linear animation feels dead

Play with the curve above and one thing gets obvious fast: the same movement, over the same distance and the same duration, feels completely different depending on the shape of its acceleration. Linear motion — constant speed, start to finish — reads as mechanical, because nothing you have ever touched moves that way. Real objects start slow, speed up, and settle under friction. Ease-out mimics that arrival, which is why entrances use it and why a flat linear fade always feels a little cheap.

A cubic-bezier is just four numbers describing that acceleration. The playground draws the curve and hands you the exact CSS, so you are not copying magic values out of a tutorial and hoping. Push the control points past the edges and you get overshoot — a small spring that adds life. Push too far and it becomes a bounce that charms once and irritates on the tenth visit. Knowing where to stop is the actual skill; the tool just makes the tradeoff visible.

03

The numbers behind a curve that feels right

Immersion lives in small, specific values. These are the defaults I reach for — copy them, then tune in the playground above until it matches your brand's tempo.

  • Micro-interactions: 120–200ms

    Hover states, button presses, toggles. Under ~100ms and the motion is gone before it registers; over ~250ms and a click starts to feel laggy.

  • Scene transitions: 300–500ms

    Section reveals, modal opens, route changes. Long enough to read as deliberate, short enough that the visitor never waits on it.

  • Ease-out for entrances

    cubic-bezier(0.16, 1, 0.3, 1) — fast in, gentle settle. Anything arriving should decelerate, the way a real object comes to rest.

  • A little overshoot for personality

    cubic-bezier(0.34, 1.56, 0.64, 1) pushes past the target and springs back. Delightful on a few elements. Ruinous on all of them.

  • Parallax under 20%

    Background layers should drift at a fraction of scroll speed. Above roughly 20% the depth stops reading as depth and starts unsettling the inner ear.

  • Stagger at 40–80ms

    When a list reveals, offset each item by a beat. The eye reads sequence as intention; everything appearing at once reads as flat.

04

Depth that doesn't make people queasy

The fastest way to wreck an immersive site is to make it move too much. Two culprits do most of the damage: heavy parallax and hijacked scrolling. Both create a mismatch between what the eye sees and what the inner ear expects, and for a real share of visitors that mismatch is nausea, not wonder. Depth should be suggested, not shoved — a background drifting slightly slower than the foreground, a card lifting a few pixels on hover, blur and shadow doing the work that large movement would.

prefers-reduced-motion is not a box you tick at the end. It is a designed state. On my builds the reduced-motion version still looks intentional — cross-fades instead of slides, instant instead of scrubbed — so a visitor who needs a calm site gets one, not a broken one.

05

The scroll is your timeline, not a slideshow

On an immersive site the scroll position is the clock — reveals, pins, and depth are all keyed to it. The temptation is to seize the scroll itself: slow it down, snap it to sections, scrub a long video frame by frame. That is where immersion turns into a fight. The instant a visitor's normal scroll speed stops working, the site reads as broken, not premium. The good version keys motion to scroll while leaving the scroll untouched, so the visitor stays in control and the page rewards them for moving.

Native CSS scroll-driven animation and Intersection Observer now cover most of what people reach for a heavy library to do, at a fraction of the weight. I lean on those first, keep any pinned or scrubbed moment short and skippable, and make sure the content still reads top to bottom with motion switched off. Choreography should feel like the page anticipating you — never steering you.

06

Immersion that stays green on a phone

Motion gets expensive when it animates the wrong properties. Width, height, top, left — anything that changes layout forces the browser to recompute the page, and on a mid-range phone that is exactly where the jank lives. Transform and opacity are the exceptions: the compositor handles them on the GPU without touching layout, so a slide, scale, or fade can hold 60fps while the rest of the page stays put. Everything immersive I ship is built on those two properties, with the heavy spectacle mounted after first paint so the headline is still the LCP. The homepage loom is the public version of that discipline — tear it apart on your phone and the numbers hold.

07

What a motion build actually costs

Neighborhoods for a budget conversation, not quotes. Scope drives the number; exact estimates are itemized and free.

ScopeWhat it coversNeighborhood
A motion layer on an existing siteEasing system, reveal-on-scroll, hover states, and a real reduced-motion state — wired into your current build.$1,500–$6,000
A custom immersive heroA bespoke entrance, depth, and interaction — the section people actually remember.$4,000–$12,000
Full immersive site or WebGL workDesign, build, and the harder interactive or 3D pieces, end to end.$12,000–$30,000+

Ranges are planning tools consistent with /website-cost and /pricing. Send the tool's output with your brief and I will itemize the real number.

Proof over promises

Open the work. Judge it live.

Straight answers

Asked often. Answered honestly.

Will an immersive site make visitors dizzy or motion-sick?
Not if it is built with restraint. The nausea comes from big background movement and hijacked scrolling that fight the inner ear. I keep parallax subtle, never scrub the whole viewport, favor opacity and scale over large translation, and ship a genuine reduced-motion version for anyone who needs it.
How is "immersive" different from just adding animations?
Animations are decoration you can bolt on. Immersion is one coherent system where most of the page is deliberately still, so the few things that move carry meaning. It is timing and restraint, not confetti sprayed over a weak layout.
Can an immersive site still pass Core Web Vitals?
Yes, when the motion sticks to transform and opacity, the heavy spectacle mounts after first paint, and the H1 stays the LCP. The interactive loom on this site's homepage is the proof — it runs on a phone without wrecking the scores.
Does the CSS from the playground actually drop into my site?
Yes. It outputs a standard cubic-bezier() value and transition — paste it straight into transition-timing-function or a keyframe animation. No library, no framework lock-in. It works in plain CSS.
How much of the page should actually move?
Less than most people expect. Stillness is what makes motion legible; if everything moves, nothing stands out. I usually animate a handful of deliberate moments and leave the rest calm.
Can you add immersion to my current site without a full rebuild?
Often yes. A lot of this work is surgical — a motion layer, a single reworked hero, a scroll sequence — dropped onto your existing stack rather than a ground-up rewrite.

Dial a curve you like above, then send me the brief. I will tell you what it takes to build the real thing — written, itemized, and free.