Pavlo Puzikov
Back to work

01·3D & Spatial

Splat Viewer

In productionOwner - capture, pipeline, viewer, mobile interaction, relighting integration.

End-to-end pipeline: on-location LiDAR + photogrammetry capture of luxury properties, through the 3DGS training stack, into a web-native viewer with mobile tap-to-move navigation, level-of-detail streaming, and golden-hour relighting. The customer-facing surface for both scanned and AI-generated properties.

Splat Viewer — Palm Jumeirah aerial twin embedded in the BARNES property-search interface, with off-plan listings on the left

What it took

The skills behind this project.

Every project below leans on a primary discipline and a handful of secondary ones. Tap any chip to see how that skill plays out across the wider portfolio.

Skills demonstrated

  • LiDAR + photogrammetry capture on site, 3DGS training stack, mobile-grade WebGL viewer.

  • Three.js viewer with tap-to-move navigation and LOD streaming under a 60fps mobile budget.

  • Training-stack orchestration and serving pipeline that lands scans inside the property-search flow.

  • ResearchSupporting

    Engine selection across gsplat, gaussian-splats-3d, and Cesium for the cleaned-vs-raw delivery path.

Context

Why it exists.

Luxury property listings still ship as static photo galleries — five flattened JPEGs of a duplex worth fifty million dirhams. Buyers fly in to walk the place themselves because the website cannot show them what it is to stand inside it.

Splat Viewer is the customer-facing answer: a real scan of the real building, embedded in the BARNES Dubai property-search flow, that you can move through on a phone in a taxi. It also doubles as the delivery surface for the AI-generated scenes the studio produces for unbuilt off-plan properties — the same viewer, the same controls, regardless of whether the source was a LiDAR rig or video diffusion.

The brief was tight: must run on iPhone Safari at sixty frames a second, must not feel like a tech demo, must slot into the existing property page without a separate URL or a download.

StackReact · Three.js · WebGL · Cesium · gaussian-splats-3d · COLMAP · gsplat

Process

The decisions that shaped it.

  1. 01

    Capture on location, not via vendor

    Started doing the capture ourselves — LiDAR plus photogrammetry on a tripod, walking the property at the broker's pace — because vendor scans were always weeks late and always missed the rooms the agent wanted to feature. Owning capture meant the same person who briefed the shot list also flew the rig, which collapsed a two-week feedback loop into the same afternoon.

    3D & Spatial
  2. 02

    Pick the engine for the room you are scanning

    Benchmarked twenty-two 3DGS engines across fifty-six evaluations before settling on a small set that handle the failure modes we actually hit — texture-sparse marble lobbies, mirrored bathrooms, deep balconies in late-afternoon sun. The chosen engine is different for an interior scan than for a city-scale tile; the viewer abstracts over both.

    Research
  3. 03

    Mobile-first navigation, not desktop ported

    Tap-to-move beats orbit-controls on a phone — buyers do not understand a virtual trackball, and they will not learn one in the thirty seconds before they swipe away. Built a navigation layer where every tap on the floor plane is interpreted as a destination, with collision against the scan geometry handled client-side so it never feels like a game.

    Frontend Engineering
  4. 04

    Level-of-detail streaming under the iOS memory cap

    Safari kills tabs that hold more than about a gigabyte of GPU memory. Splatted the scans into octree-addressed tiles, stream only the cluster around the current camera, and trim aggressively when the buyer moves on. The viewer holds a steady frame budget instead of crashing the third time you wander into the master bedroom.

    Backend Engineering
  5. 05

    Golden-hour relighting as a separate path

    Real-estate buyers want to see the apartment at the time of day they would move in — sunset on the balcony, morning light through the kitchen. Built a relighting integration that swaps the irradiance map at runtime, so the same scan re-times across the day without a re-render.

Outcome

What shipped.

LiveReplaces static photo galleries on the BARNES Dubai property pages. First georeferenced building (Onyx Tower) live in the property-search flow.

Live in the BARNES Dubai property-search flow today. Onyx Tower is the first georeferenced building in production; the next two buildings are already scanned and awaiting georef. The pipeline that ships these scans is the same one that delivers AI-generated tours for unbuilt off-plan properties — one viewer, one navigation language, two very different sources.