Simam AI Lab Our applied AI research division is now open. Visit the lab
Client delivery / Brand experience engineering

A beauty brand in 3D, delivered to a browser tab.

Technology lead for Digital Village (VLGE) across browser-delivered 3D brand experiences for L’Oréal, including the Lancôme Happiverse. Three builds: a WebGL marketing game experience, an interactive 3D world-building product, and headset-delivered brand environments. The work was Unity development, WebGL delivery, UX flow, performance optimisation and the technical foundations underneath all three.

Digital human avatar head shown in wireframe, revealing the triangle density of the face, ear and hair
Digital human avatars with a real polygon budget
Avatar personalisation and a collection loop worth staying for
Unity to WebGL, tuned for download and memory
The constraint that shapes everything

A beauty brand wants photoreal skin. A browser tab gives you a budget.

Every decision on this kind of work traces back to one tension. The brand side wants skin that reads as skin, hair that moves, garments that drape, and an environment that looks like the campaign. The delivery side is a browser: no install, a download budget measured in seconds of patience, a memory ceiling you will hit, and a graphics API a generation behind what the art was authored for.

Technology leadership on a project like this is not choosing the most impressive technique. It is deciding where the budget goes — and, more often, where it does not.

Download

Every megabyte is a drop-off

A brand experience competes with a back button. Asset streaming, texture budgets and load ordering are commercial decisions before they are technical ones.

Memory

The ceiling is lower than anyone expects

Browser 3D fails hard, not gracefully. Staying under the ceiling on mid-range devices constrains avatar counts, texture resolution and scene complexity from the first day of the build.

Fidelity

Spend it where the eye goes

Faces and hair carry a beauty experience. Foliage, architecture and props do not. The wireframe above shows exactly where the triangles went.

What was underneath it

The foundations, chosen rather than defaulted into.

A brand experience is judged on how it feels, but it stands or falls on a handful of infrastructure choices made early, when nobody is looking at it yet.

Digital humans

An avatar pipeline, not a model

Generated digital human avatars with a dedicated hair system, so faces are produced by a pipeline with a controllable budget rather than hand-authored one at a time. That is what makes personalisation and variety affordable instead of a per-character cost.

Multi-user

Presence, so the space is not empty

A networked layer carrying avatar presence and identity through the world. A branded environment with nobody in it reads as a screensaver; other people in it reads as an event.

Browser delivery

The unglamorous half of the work

Responsive WebGL templating, proper text input handling from the browser into the engine, and an optimisation pass over the build. None of it shows up in a pitch deck. All of it decides whether the thing is usable on a phone.

Location and AR

Foundations for taking it outside

Geospatial and AR toolkits were brought in alongside the browser work, so brand environments could extend to real-world placement rather than being locked to a screen.

A reason to stay

A collection loop, not a walkthrough

Visitors gather things as they explore — roses, seeds, petals, cards — with the counts on screen. A branded space with nothing to do in it is a corridor; a small loop gives a reason to reach the second room.

Phone-first

Touch controls, in portrait

On-screen movement and action controls in a portrait layout, rather than a desktop build rotated sideways. That decision constrains the camera, the UI scale and the environment scale, so it has to be made early.

The work in the engine

Built environments, avatars and product moments in one scene.

A brand world has to hold three different jobs at once: a place worth walking through, people worth seeing, and a product moment that does not feel like an advert bolted onto a garden.

What this proves: browser-delivered brand 3D is an engineering discipline with a fixed budget, not a rendering problem. The projects that fail are usually the ones that treated the budget as a late optimisation task rather than the design constraint.

Case study decision record

The commercial case, in one view.

Client
Digital Village (VLGE), for their client L’Oréal, including the Lancôme Happiverse experience.
Role
Technology lead across three builds: a WebGL marketing game experience, an interactive 3D world-building product, and headset-delivered brand environments.
Business challenge
Deliver a beauty brand’s creative ambition — digital humans, hair, garments, branded architecture — through a browser tab, with no install and no second chance at a long load.
What the work covered
Unity development, WebGL delivery and templating, UX flow, performance optimisation, an avatar and hair pipeline, a multi-user presence layer, and geospatial and AR foundations for extending the work beyond the screen.
Important technical decisions
Treat the download and memory budget as a design constraint from day one rather than a later optimisation. Concentrate fidelity on faces and hair, where a beauty audience actually looks. Produce avatars from a pipeline rather than authoring them individually.
Credible outcome
Browser-deliverable branded 3D environments with digital human avatars and multi-user presence, built for a global beauty client through an agency partner.
What it does not claim
Campaign performance and commercial results belong to the client and the agency and are not reported here. Some material from this programme remains confidential.

Want a brand experience that survives contact with a phone?

The interesting question is rarely whether it can be built. It is what has to be given up to make it load, and who decides. That is worth settling before the art is signed off, not after.