Skip to main content
Illustration of a studio wall with printed website screens pinned in a row.

Two products. Nine sites. All live.

Named and linked, because work you cannot click is a claim.

Sites we designed and built.

In order of how much of the technique they carry. Every one loads fast, moves properly and belongs to the client.

What the work demonstrates.

Lead with the technique, because that is the differentiator. Each client hero is a generated clip decoded into roughly a hundred desktop frames and eighty mobile frames, then scrubbed frame by frame on a canvas against scroll position. Linkt runs 181 frames at 1920 by 1088, the densest in the set. Four narrative beats are mapped to scroll progress and written per site.

Katana is the three.js piece: a night scene with a preloader and restaurant copy dropped into 3D content slots. The products are Next.js with Postgres, multi-tenant from the first migration, with role-based access and billing built before the polish. Everything is deployed on Vercel with automated QA at 1440 by 900 and 390 by 844 and axe assertions on every route.

This site deliberately does not use the scrubbed hero. It uses layered parallax over a looping clip instead, because a studio's own site should not look like its client template.

  • Products that survive customers

    Tenancy, roles, billing and the data model decided once, before the polish. Skiprr in market, NeuroKind in build.

  • Scroll-scrubbed cinematic heroes

    A generated clip, decoded to webp frames, drawn on a canvas against scroll. The technique on the nine sites.

  • three.js on Katana

    A WebGL night scene with copy in 3D slots and a custom preloader.

  • QA you can repeat

    Both viewports, six scroll depths, console clean, axe clean, on every route before deploy.

Questions people ask first

Illustration of a designer's desk with a large monitor showing an abstract layout and a phone beside it.

A site that looks like the work took a month, built in a week.

Book a call

Twenty minutes. A fixed price after discovery.