← Tutti i progetti

Personale · 2026

PlanesView

Tutto il traffico aereo in diretta su un globo fotorealistico, e la vista dalla cabina di pilotaggio di qualsiasi aereo.

La mappa: tutto il traffico aereo in diretta su un globo fotorealistico
La mappa: tutto il traffico aereo in diretta su un globo fotorealistico
Nella cabina di un aereo in avvicinamento, con gli altri velivoli intorno
Nella cabina di un aereo in avvicinamento, con gli altri velivoli intorno
La home page di PlanesView
La home page di PlanesView

La storia

Il brief iniziale diceva «nessun backend». Ho misurato, fornitore per fornitore, le intestazioni CORS dei flussi ADS-B: quattro fornitori ADS-B rifiutano le chiamate da una pagina. Invece di rinunciare al vincolo «gratuito, senza chiave, senza account», ho progettato un relay minimo con lista bianca, che può raggiungere solo origini fissate in un file.

Le posizioni arrivano circa una volta al secondo. Per ottenere un movimento fluido a 60 fotogrammi al secondo senza mai mostrare un aereo «in ritardo», ogni velivolo è seguito da un filtro di Kalman a velocità costante, fattorizzato in due filtri per asse (4 termini da propagare invece di 16).

Il globo è un quadtree di tile: un tile non è mai vuoto (prende in prestito la texture del suo antenato), il dettaglio si affina con una dissolvenza, un genitore viene sostituito solo quando i suoi quattro figli sono costruiti, e la cache IndexedDB viene preriscaldata lungo la traiettoria.

Cosa ne ricavo

Misurare prima di decidere: il brief era sbagliato su un punto, e la risposta giusta era un piccolo relay strettamente limitato. Ho anche imparato che la matematica «plausibilmente sbagliata» (geodesia, proiezioni) è quella che richiede più test.