SWGC Flight Track Analysis

What it’s for

South Wales Gliding Club logs its flights and their IGC traces in gliding.app. This tool syncs them to a server, stores them locally, and lets members look at a whole season on one map. It was built to answer a question about approach paths: where does club traffic actually fly on the circuit and approach at Usk?

The app isn’t public. Flight tracks linked to named pilots are personal data, so the club’s copy sits behind a login. The demo below covers the 2026 season, with pilot names anonymised.

Features

How it works

A TypeScript monorepo. A sync job pulls flight records and IGC files from the gliding.app API into SQLite and turns each trace into compact level-of-detail files. A Fastify API serves the filtered flights, the trace data and the corridor and gate statistics. The React front end draws everything with MapLibre and deck.gl.

Most of the effort went into getting the heights right. Neither recorded altitude is height above ground: pressure altitude assumes a standard 1013.25 hPa atmosphere, and GNSS altitude is height above the WGS84 ellipsoid, about 50 m above sea level in South Wales. Each flight is calibrated against its own fixes on the airfield, and the geoid separation is taken out for the 3D view. Every height in the interface says which datum it uses. Traces are resampled by distance before they’re aggregated, because fixes are recorded at set time intervals and a slow glider would otherwise count for more.

It runs on an Oracle Cloud free-tier VM under Docker Compose, with Caddy handling TLS and basic auth, and syncs every night.