Quota, mountain guides in Val di Fassa: real routes on a 3D map, conditions at altitude and a panel to try

Demo website for a made-up collective of mountain guides in Val di Fassa, on the real trails of the Dolomites. Every route sits on a 3D map of the real terrain with a linked profile; conditions at three altitudes come from MET Norway, avalanche danger from Euregio. A questionnaire suggests trips, route cards open with no signal, and the admin panel can be tried without an account.

**Quota doesn't exist**: it's a made-up collective of mountain guides in Val di Fassa, three guides and a trainee, with trips, prices and photos just as made up. It's a demo website, built the way I build them for real businesses: a public site, an admin panel for whoever runs it, and deployment on my own server. A banner at the top of every page says so, and the site stays out of Google. What is real: the eight routes, from Piz Boè to Catinaccio d'Antermoia, with grades and times checked against published descriptions, the terrain of the Dolomites and the forecasts.

**What it does**

- **A 3D map on real terrain.** Every route is drawn on the terrain with MapLibre GL JS, and the elevation profile is linked to the map: drag along the profile and the marker moves along the trail. The terrain comes from my own server: 88 tiles of the valley, from the Copernicus EU-DEM model. - **Conditions at the route's altitudes.** Temperatures at the start, the midpoint and the top, wind and rain from 6 am to 6 pm, from MET Norway's forecasts (Open-Meteo stays as a second source, switched on in the panel), plus the danger level from the Euregio avalanche bulletin when one is issued. Every value shows its source and time, and no traffic light says it's safe to go. - **Which trip suits you?** Five questions on fitness, experience, exposure and gear sort the trips into three groups, with one written rule: the guide has the final say. - **Group trips with limited places.** You ask for a place and the guide confirms it; from the panel, designed for the phone, the guide confirms a trip, moves it or calls it off because of the weather. - **Route cards without signal.** Saved on the phone, a card weighs under 200 KB and opens high on the mountain with no network: text, relief map and that day's conditions. - **A climb you scroll.** Scrolling the page takes you from Passo Pordoi to the top of Piz Boè, with the map camera following the trail (GSAP and Lenis).

**The admin panel can be tried from the site, with no account**: the server's logic runs in the browser on a copy of the data, with made-up requests, and changes stay there. An automated test compares over 500 responses from the two versions. The panel also has cookie-free visitor statistics.

**The hard part was weight.** On a phone the 3D map costs about 2 MB: so MapLibre never loads on the home page, and on a phone the route page starts it only on tap, over a relief image the server draws with hillshading, contour lines and the trail. The same image is the map for phones without WebGL2 and for offline cards, and the profile still moves the marker across it. On the live site the home page weighs 361 KB and a route page 444 KB.

The photos of guides and trips are generated on my computer's GPU with an open model, and the site says so: the true shape of the mountains is in the map. Vue 3 and TypeScript, Fastify and MongoDB; every change goes through 139 automated tests and reaches the server via a GitHub Action.

Design, full-stack development and deployment · 2026

Vue.js, Fastify, MongoDB, MapLibre GL JS, GSAP

View the site

Andrea Coppetta