Koca Ventures Ltd
71-75 Shelton Street
Covent Garden, London
WC2H 9JQ, United Kingdom
Registered in England & Wales16231043

PREMIUM WEB & 3D

Cinematic web,engineered — fast AND cinematic, by engineering not luck.

Most award-tier sites come from design studios that nail the motion but ship it janky, or from template shops that are fast but hit a ceiling the moment you need real WebGL. We're software engineers who also do award-tier motion. We hand-build the heavy 3D and scroll-scrub layer and hold it to a Core Web Vitals budget — so it's cinematic and fast, by engineering, not by luck.

Scroll-scrub entrance — a full-film canvas scrub we're currently engineering for a luxury eyewear brand (coming soon)
CAPABILITIES

The cinematic layer, hand-built

01

Scroll-driven storytelling

Cinematic scroll narratives built with GSAP 3.15 (now 100% free, all plugins included) and ScrollTrigger, with Lenis for a smooth-scroll model. We treat scroll like an editor treats a timeline — a few well-tuned scenes, not fifteen — so the story reads as craft, not clutter.

02

Real-time 3D (Three.js / R3F)

Hand-built WebGL scenes with Three.js r184, or React-Three-Fiber 9 + drei 10 when the scene benefits from component composition. WebGPU when the workload (heavy particles, compute, post) justifies it — always with an automatic WebGL2 fallback so nobody gets a blank canvas.

03

Frame-sequence scroll-scrub (Apple-style)

The Apple-style entrance — a film decoded to frames and drawn onto a canvas as you scroll — is a technique we engineer (canvas + ScrollTrigger), not a library we drop in. We are currently engineering a cinematic scroll-scrub entrance for a luxury eyewear brand: a full-film scrub handing off into the grid.

04

Shader & material work

Custom shaders and materials, including node-based TSL on the WebGPU path, used with restraint. Advanced effects are tempered by optimization and fallbacks so the spectacle never costs you the performance budget.

05

Vector motion (Lottie / Rive)

Designer-made vector motion via Lottie / dotLottie for icons and illustrations, and Rive when an animation needs to be stateful and data-driven. Small, sharp, and resolution-independent — the right tool instead of a heavyweight 3D scene for light motion.

06

Built on Next.js

The cinematic layer lives in isolated, client-only islands that lazy-mount near the viewport; the rest of the site stays static and fast. Hydration cost is the main performance lever on a 3D site, and we budget it deliberately — Three.js never ships in your initial bundle.

THE PERFORMANCE & A11Y PROMISE

A Core Web Vitals budget we set before the first shader

LCP≤ 2.5s

Largest Contentful Paint

A fast poster / first frame paints early — a heavy canvas hero never blocks the largest paint.

INP≤ 200ms

Interaction to Next Paint

The hardest one to pass. We break up long main-thread tasks from animation and hydration so the page stays responsive while it moves.

CLS≤ 0.1

Cumulative Layout Shift

Space is reserved for every canvas and media element up front, so scroll-reveals and late-loading 3D never shift the layout.

All three are measured at the 75th percentile of real users — the targets must hold in the field, not just in a lab run. Reduced-motion users get a clean, fast static experience by default, essential motion is replaced rather than removed, and every site ships with a streamlined mobile scene and an automatic WebGL2 fallback for devices without WebGPU.

Core Web Vitals before / after — real Lighthouse measurements (coming soon)
HOW WE WORK

From storyboard to a budget we hold

01

Discover & storyboard

We map the story before the build — which few scenes carry the brand, where the scroll beats land, and what the site has to do beyond looking good.

02

Set the CWV + a11y budget

We agree the Core Web Vitals targets and the accessibility rules (reduced-motion, keyboard, pause controls) up front — so the cinematic layer is held to them, not bolted on after.

03

Prototype the hero scene

We build the single hardest scene first — the scroll-scrub or 3D centrepiece — and prove it hits the budget on a real mid-range phone before the rest of the site exists.

04

Build as isolated islands

The heavy 3D / scroll layer is engineered as client-only islands that lazy-mount near the viewport, while the rest of the page stays static and server-rendered.

05

Optimize the asset pipeline

GLTF with Draco / Meshopt compression, KTX2 textures, capped texture sizes and poly budgets per device, plus a streamlined mobile scene or static poster where it earns its place.

06

Ship & measure

We launch and watch real-user metrics, not just a Lighthouse score in a lab. The budget is something we hold after launch, not a number we quote once.

THE WORK

What this looks like in motion

Interactive 3D demo — a live WebGL / R3F scene, lazy-mounted near the viewport (coming soon)

A self-contained 3D island — engineered to mount only when it scrolls into view, so it never costs the rest of the page its budget.

Build reel — screen-recordings of real scroll-driven and 3D work (coming soon)

Short captures of real builds — scroll-driven storytelling, shader work, and the scroll-scrub entrance currently in progress. Discretion is part of the deal; we don't put client names on our reel.

Award-tier motion is a craft we engineer, not a plugin we install. The 3D and scroll-scrub stack — GSAP, Motion, Lenis, Three.js, React-Three-Fiber — is added per project and built to the budget, not shipped as a black box you have to trust. We promise craft and performance we hold ourselves to, not the best website ever and not an award we haven't won.

Already shipping animated sites: this is the premium 3D tier above our animated-websites work. Same engineering bar, a higher ceiling on the cinematic and real-time 3D layer.

QUESTIONS

Straight answers

Won't 3D and heavy motion slow my site down?

That's the failure mode we exist to avoid. We set a Core Web Vitals budget — LCP ≤ 2.5s, INP ≤ 200ms, CLS ≤ 0.1 at p75 — before writing a single shader, and we hold the cinematic layer to it. Three.js is never in your initial bundle; the 3D and scroll-scrub layer lazy-mounts as isolated client-only islands only when it's near the viewport, while the rest of the page stays static and fast. 'Fast AND cinematic' is honest because we budget for it up front, not because we got lucky.

What about mobile and accessibility?

Both are designed in, not patched on. We ship a clean, fast static experience first and layer motion only for users who haven't asked to reduce it — reduced-motion users get a calm, fully-readable site by default, with essential motion replaced (a fade instead of a zoom) rather than content deleted. On mobile we run a streamlined scene or a static poster, with an automatic WebGL2 fallback for the small share of devices without WebGPU. Autoplaying or looping content gets pause controls, and motion controls are keyboard-accessible with visible focus.

Why not just use Webflow or Framer?

For decorative 3D — a spinning globe, light parallax — builders are fine, and we'll tell you when that's the right call. The moment you need real WebGL shaders, physics, large optimized GLTF, or interactive Three.js / R3F scenes, you have to hand-code it, and a builder's black-box React carries overhead that's flagged for layout-shift under heavy animation. We're software engineers who also do award-tier motion: no platform ceiling, no lock-in, code you own, and performance we can actually guarantee. Webflow's Code Components are a hybrid path — but the heavy component is still hand-engineered by someone like us.

How are you different from a design studio?

Many award-tier sites come from studios that nail the motion but ship it janky — failing INP or CLS, breaking on mobile, ignoring reduced-motion. We bring the same visual ceiling plus the engineering: Core Web Vitals budgets, accessibility, proper asset pipelines, and mobile / fallback handling. We're often the partner a design studio subcontracts the performant build to. We promise craft and performance we hold ourselves to — not 'the best website ever,' and not an award we haven't won.

How long does it take, and how is it priced?

Per project, after we understand the scope — there's no list price for this kind of work. We recommend phased delivery: ship a fast cinematic hero first, then grow into multi-scene or configurator-class work once there's real engagement to justify it, without a rebuild. A focused hero-visual build is a few weeks; an advanced multi-scene or interactive launch is longer. Tell us what the site has to do and we'll scope it honestly. Request a quote — we don't put a fixed number on a custom build.

Do we own the code, or are we locked into you?

You own it. We hand-build on open, standard tools — GSAP, Motion, Lenis, Three.js, React-Three-Fiber — in your own repository, with no proprietary builder runtime in between. There's no per-seat tax, no platform you can't leave, and your own engineers can run and extend the result. Discretion is part of the deal: we don't put your name on our website either.

Last reviewed:

READY TO TALK?

Tell us what the site has to do

Share the brand moment, the launch, or the configurator you have in mind — and we'll scope a cinematic build with a Core Web Vitals budget written in from the start. We price custom work per project, so the next step is a conversation, not a number.