Projects

Sajjan Ghale

A scroll-driven 3D expedition site for an IFMGA mountain guide

Year
2026
Type
Client work
Role
Design, 3D and front-end engineering
Status
In development
Sajjan Ghale home page: Everest rendered in WebGL from survey data at dusk, the South Col route traced on the snow, and an altitude rail from summit to base camp.

The website of Sajjan Ghale, an IFMGA/UIAGM mountain guide. The home page is a single descent of the Everest South Col route rendered in WebGL from survey data: scrolling moves the camera from the summit down through each camp to Base Camp. The site is in French, for his French-speaking clients.

Context

Sajjan Ghale guides Himalayan expeditions and his clients are French. A guide's site has to establish credibility and safety before anything else, and it should convey the mountain itself rather than stock photography of it.

Approach

The home page is one continuous descent. The terrain is the real Khumbu, baked from the Copernicus elevation survey into a compact heightfield; the route line is traced and planned over that survey rather than drawn by hand. One frame loop maps scroll position to camera and shader uniforms, so the scene never re-renders React on scroll.

Every other page is light, text-first and carries no WebGL, so it loads as fast as a document.

Technical decisions

Why real survey data instead of a modelled mountain?

Decision

Terrain is baked from the Copernicus elevation survey; named places and the route are positioned against it.

Why

The site's audience climbs these mountains. A stylised peak reads as decoration; the real route, at honest scale, reads as expertise.

Alternatives considered

A hand-modelled or procedurally generated mountain.

Trade-off

A build step for the heightfield and careful camera clearance over real terrain. The survey only covers the Khumbu, so other peaks still need photography.

Performance, security and accessibility

The scene tiers itself by device and downgrades live if frame times suffer. Reduced-motion users get the content without the camera travel. Terrain loading starts at hydration and the wait is shown honestly rather than hidden behind a spinner.

Technology

  • TypeScript
  • Next.js
  • Three.js
  • React Three Fiber
  • GSAP
esc