Gui Cargnin
Back to Projects

xp-flight-review

Side project, started September 2026

Every flight sim tool grades your landing. None of them tells you whether the approach that got you there was stable, which is the thing real airlines actually check. So I built my own operations department.

Debrief of a flight from London Heathrow to Frankfurt: score 71 of 100, approach stabilized at the 1,000 ft gate, hard touchdown at 532 feet per minute, with a route map and findings
A real debrief from my London to Frankfurt flight in a 777. The approach was fine. The landing, less so.

What it does

You plan in SimBrief like always and fly in X-Plane 12 like always. The tool records the flight ten times a second and compares it with the plan. At the end you get the report an airline would write about your flight: was the approach stabilized at the 1,000 ft gate, how hard and how far down the runway you touched, fuel against plan, and whether you flew the route and cruise level you filed.

There's also a live panel that watches the approach while you fly, so you can still fix it.

Engineering notes

The simulator only sends what changed

X-Plane's web API pushes updates at 10 Hz but only for values that changed, so I rebuild a full snapshot of the aircraft at every tick.

Memory nearly killed it

Storing each sample as an object made a two hour flight cost 2.1 GB, and a long haul would have crashed. Storing the session in columns instead fixed it.

Only grade what's fair

SimBrief's altitudes during climb and descent are estimates that the aircraft's computer recalculates, so only the cruise level gets graded.

Shipping without the Apple fee

The macOS and Windows security warnings come from how the browser tags downloaded files, not from the binary. Installing with a one line command that checks the file's SHA-256 avoids both, with no developer certificate needed.

Flown so far

RouteAircraft
KBOS to KJFKBoeing 737-800
KJFK to KBOSBoeing 737-800
SBGR to SBPAAirbus A321
MMUN to KMIABoeing 777-300ER
EGLL to EDDFBoeing 777-300ER
LPPT to LEBLAirbus A320neo

What's next

A shareable card for each flight, and a desktop app with accounts and flight history in the cloud, so other simmers can use it without touching a terminal.

TypeScript, Bun, SQLite and WebSocket. Runs on macOS, Windows and Linux.