What it is
Route Weaver renders the global flight network — 3,257 airports and 18,930 route pairs — as great-circle arcs on a dark world map. It boots into an ambient "airline route poster" view, then lets you click or search any airport to weave its entire network: every route as a bright arc, the longest and shortest legs, the top destinations, and hub-to-hub exploration via a breadcrumbed refocus.
What sets it apart is that the arcs are real great circles, hand-rolled. Every arc is a spherical linear interpolation in 64 steps, split cleanly at the antimeridian, with no geodesic engine involved — so a route like Sydney to Los Angeles bends across the Pacific and splits at ±180° the way it actually should, rather than drawing a straight line across the map. The whole dataset is bundled, so the app is fast and works with an empty .env.
It suits network and route planners exploring connectivity, data journalists and educators illustrating the shape of global aviation, and design-conscious buyers who want a poster-grade interactive map. One honest caveat is built into the product: the underlying OpenFlights route table is a roughly 2014 snapshot, excellent for the shape of the network but not a source of current schedules — and the app says so.
The experience
The app boots into ambient mode: the top 600 routes by airline count drawn once as faint ATS-blue arcs, airports dot-sized by degree, mega-hubs in gold, and a stat strip of the busiest hubs.
- Ambient poster. The default view is a legible "route poster" — top-600 arcs at low alpha with a hub stat strip (AMS 248, FRA 244, CDG 240, IST 235, ATL 217).
- Type-ahead search. Search by IATA code, airport name, or city, fully keyboard-navigable (arrows, Enter, Escape). Selecting an airport enters focus mode.
- Focus mode. The ambient layer hides and all of the chosen airport's routes rebuild as bright arcs, with a pulsing gold marker and route-count filter chips (All / 2+ / 3+ airlines).
- The stats panel. A glass panel lists haversine distances, the longest and shortest legs, and the top-10 destinations — each destination clickable to refocus, with a breadcrumb trail back. For JFK the longest route runs to Hong Kong at roughly 12,970 km and the shortest to Philadelphia at about 151 km.
- Poster-grade chrome. Lucide glass-pod controls only — a Home pod returns to ambient and a route-count filter pod refines focus. No Esri widget chrome anywhere.
The data — where it comes from
The entire dataset is bundled; the only external service is an anonymous Esri basemap.
| Source | What it provides | Refresh | Cost | Attribution |
|---|---|---|---|---|
| OpenFlights flight network (bundled) | 3,257 airports and 18,930 undirected route pairs | Static (~2014 snapshot) | Free / open (ODbL) | OpenFlights |
| Esri dark-gray vector basemap | Anonymous cartographic base | Static | Free (no LP cost) | Esri |
How it was assembled
Route Weaver is an ATS-branded React 19 + Tailwind 4 application on the ArcGIS Maps SDK for JavaScript, with no Esri UI widgets.
Engineering decisions worth calling out
- Zero-credential design. The app runs with an empty .env. Every service is either an anonymous Esri basemap or a public CORS-enabled API, so there are no keys to provision, rotate, or leak. An optional Location Platform basemap upgrade is documented in .env.example but never required.
- Glass-pod controls, no Esri widget chrome. The three branded apps deliberately ship zero Esri UI widgets. ui: { components: [] } clears the default chrome (attribution still renders, restyled to a whisper), and all interaction lives in custom floating glass pods built from Tailwind and Lucide. This is an ATS brand standard: the map should read as a finished product surface, not a developer toolkit.
- Hand-rolled great circles. Every arc is a 64-step spherical linear interpolation split at the antimeridian — deliberately not geodesicDensify, to stay dependency-light and dodge ±180° engine edge cases. Verified: JFK→LHR is 5,539.7 km as one path; SYD→LAX is 12,061.1 km split into two paths at ±180°, crossing near latitude −14.98°.
- WGS84 geometry on a Web Mercator view. Polylines and points are built explicitly in WGS84; the SDK normalizes and reprojects them onto the Web Mercator MapView automatically.
- Two modes, built once. Ambient (top-600 arcs at 0.16 alpha) and focus (one airport's arcs at 0.65 alpha) are distinct render paths. Ambient and airport graphics are built once per network load with addMany (600 polylines plus 3,257 points is fine); focus graphics rebuild only on selection or filter change.
- Cheap pulse. The selected-airport marker pulses by mutating one graphic's symbol on a 90 ms interval — no layer rebuild, no re-added graphic.
- StrictMode-safe breadcrumbs. Selection and trail state use ref mirrors so callbacks stay stable and setState updaters stay pure — StrictMode double-invokes updaters, and pushing to the trail inside one would otherwise duplicate breadcrumb entries. The map effect fully tears down on cleanup.
- Honest data framing. The dataset is a ~2014 OpenFlights snapshot and is never presented as live schedules; the footer and documentation wording are deliberate.