How A to F works

I spent two years as a gate agent at Amsterdam Schiphol, and the question I heard most was “which side has the view?” The honest answer was always “it depends.” This site works out what it depends on.

  1. The flight path

    One position per minute from takeoff to landing. For now this is the shortest route between the two airports at a typical cruising height. Real flights bend with the wind and air traffic control, which is why anything within 40 km of the line is marked as possibly on either side.

  2. Where the sun is

    For every minute, the sun’s direction and height above the horizon at the plane’s position, using the standard NOAA solar formulas. At 11 km up the horizon sits about 3 degrees lower than on the ground, so you see the sun for a few minutes after it has set for people below. The calculation matches the open-source astral library exactly across 20,000 random times and places.

  3. Left or right

    Compare the sun’s direction with the direction the plane is pointing. If the sun is to the left of the nose, it’s on the A side; to the right, the F side. A window shows you roughly what’s beside you, not straight ahead, so the sun has to be at least 20 degrees off the nose to count. Near sunset the coloured sky spreads wide, so golden light counts from 5 degrees.

  4. What you can see

    51 landmarks along these routes: mountain ranges, canyons, lakes, islands, capes and big cities, each from Natural Earth with a Wikidata ID. Terrain only counts in daylight. Cities count at night too, because their lights are the view.

  5. The answer

    Sunset or sunrise light wins first. Otherwise, the side with clearly more to see. Otherwise, in daylight, the side away from the sun: no glare, and the ground is lit from behind you. The same engine runs in Python for the data and in your browser for any date, and 320 test flights check that both give identical answers.

  6. Where Claude fits

    Claude writes and reviews the code and the words: the window narration, the trip-planner plugin and the MCP server. It never decides which side something is on: the geometry does, and a separate checker rejects any sentence the geometry doesn’t support.

Limits

  • Flight paths are approximations until real flight tracks are loaded, so flight times are shorter than the schedule, especially flying west into the wind.
  • Clouds are not forecast. A sunset on your side can still be a grey one.
  • There are no seat maps here, so the wing is not taken into account. Rows behind the wing usually have the clearer view down.
  • Three routes are still being checked against JetBlue’s current schedule and are marked on the route list.

Every landmark, with its source

Minutes are after takeoff on the approximate path.

JFK to LAX, 12 landmarks
MinuteLandmarkSideDistanceWikidata
21Appalachian Mountainsbelow0 kmQ93332
39Pittsburghleft40 kmQ1342
50Clevelandright78 kmQ37320
58Columbusleft85 kmQ16567
79Indianapolisleft95 kmQ6346
133Kansas Cityleft78 kmQ41819
200Fishers Peakleft104 kmQ14951222
201Front Rangeright54 kmQ1470027
210Rocky Mountainsbelow0 kmQ5463
217Uncompahgre Peakright76 kmQ576184
251Humphreys Peakleft88 kmQ1239004
255Grand Canyonbelow0 kmQ118841
LAX to JFK, 12 landmarks
MinuteLandmarkSideDistanceWikidata
43Grand Canyonbelow0 kmQ118841
47Humphreys Peakright88 kmQ1239004
81Uncompahgre Peakleft76 kmQ576184
88Rocky Mountainsbelow0 kmQ5463
97Front Rangeleft54 kmQ1470027
98Fishers Peakright104 kmQ14951222
165Kansas Cityright78 kmQ41819
219Indianapolisright95 kmQ6346
240Columbusright85 kmQ16567
248Clevelandleft78 kmQ37320
259Pittsburghright40 kmQ1342
278Appalachian Mountainsbelow0 kmQ93332
JFK to SFO, 17 landmarks
MinuteLandmarkSideDistanceWikidata
21Appalachian Mountainsbelow0 kmQ93332
50Clevelandbelow13 kmQ37320
59Detroitright71 kmQ12439
85Great Lakesbelow0 kmQ7347
87Chicagobelow10 kmQ1297
139Omahaleft73 kmQ43199
200Front Rangebelow9 kmQ1470027
201Longs Peakleft92 kmQ1317383
216Rocky Mountainsbelow0 kmQ5463
229King's Peakright44 kmQ1642538
238Wasatch Rangebelow0 kmQ1544388
239Salt Lake Cityright73 kmQ23337
251Great Salt Lake Desertbelow13 kmQ1548386
257Wheeler Peakleft70 kmQ2566649
285White Mountain Peakleft117 kmQ4468440
293Lake Tahoeright70 kmQ169962
295Sierra Nevadabelow0 kmQ26777
SFO to JFK, 17 landmarks
MinuteLandmarkSideDistanceWikidata
16Sierra Nevadabelow0 kmQ26777
18Lake Tahoeleft70 kmQ169962
26White Mountain Peakright117 kmQ4468440
54Wheeler Peakright70 kmQ2566649
60Great Salt Lake Desertbelow13 kmQ1548386
72Salt Lake Cityleft73 kmQ23337
74Wasatch Rangebelow0 kmQ1544388
82King's Peakleft44 kmQ1642538
95Rocky Mountainsbelow0 kmQ5463
110Longs Peakright92 kmQ1317383
111Front Rangebelow9 kmQ1470027
172Omaharight73 kmQ43199
224Chicagobelow10 kmQ1297
226Great Lakesbelow0 kmQ7347
252Detroitleft71 kmQ12439
261Clevelandbelow13 kmQ37320
290Appalachian Mountainsbelow0 kmQ93332
JFK to SJU, 0 landmarks

Open sea most of the way. The view on this one is the sky.

SJU to JFK, 0 landmarks

Open sea most of the way. The view on this one is the sky.

BOS to SJU, 0 landmarks

Open sea most of the way. The view on this one is the sky.

SJU to BOS, 0 landmarks

Open sea most of the way. The view on this one is the sky.

JFK to FLL, 5 landmarks
MinuteLandmarkSideDistanceWikidata
16Cape Mayright, could be either23 kmQ2065437
35Norfolkright51 kmQ49231
35Virginia Beachright, could be either26 kmQ49259
46Cape Hatterasleft75 kmQ978032
63Cape Fearright84 kmQ1034413
FLL to JFK, 5 landmarks
MinuteLandmarkSideDistanceWikidata
66Cape Fearleft84 kmQ1034413
83Cape Hatterasright75 kmQ978032
94Norfolkleft51 kmQ49231
94Virginia Beachleft, could be either26 kmQ49259
113Cape Mayleft, could be either23 kmQ2065437
JFK to LHR, 11 landmarks
MinuteLandmarkSideDistanceWikidata
18Providenceright, could be either18 kmQ18383
22Bostonbelow11 kmQ100
25Cape Codright71 kmQ49152
71Nova Scotiabelow0 kmQ1952
83Prince Edward Islandbelow0 kmQ15120268
95Cape Breton Islandbelow11 kmQ188489
122Newfoundlandbelow0 kmQ48335
377Irelandbelow0 kmQ22890
383Dublinleft95 kmQ1761
399Cambrian Mountainsbelow0 kmQ1028218
402Cardiffright54 kmQ10690
LHR to JFK, 11 landmarks
MinuteLandmarkSideDistanceWikidata
14Cardiffleft54 kmQ10690
17Cambrian Mountainsbelow0 kmQ1028218
33Dublinright95 kmQ1761
40Irelandbelow0 kmQ22890
295Newfoundlandbelow0 kmQ48335
321Cape Breton Islandbelow11 kmQ188489
333Prince Edward Islandbelow0 kmQ15120268
345Nova Scotiabelow0 kmQ1952
391Cape Codleft71 kmQ49152
394Bostonbelow11 kmQ100
398Providenceleft, could be either18 kmQ18383
BOS to LHR, 8 landmarks
MinuteLandmarkSideDistanceWikidata
50Nova Scotiabelow0 kmQ1952
60Prince Edward Islandbelow0 kmQ15120268
73Cape Breton Islandright, could be either20 kmQ188489
98Newfoundlandbelow0 kmQ48335
354Irelandbelow0 kmQ22890
360Dublinleft94 kmQ1761
376Cambrian Mountainsbelow0 kmQ1028218
379Cardiffright54 kmQ10690
LHR to BOS, 8 landmarks
MinuteLandmarkSideDistanceWikidata
14Cardiffleft54 kmQ10690
17Cambrian Mountainsbelow0 kmQ1028218
33Dublinright94 kmQ1761
40Irelandbelow0 kmQ22890
295Newfoundlandbelow0 kmQ48335
320Cape Breton Islandleft, could be either20 kmQ188489
334Prince Edward Islandbelow0 kmQ15120268
344Nova Scotiabelow0 kmQ1952
BOS to LAX, 19 landmarks
MinuteLandmarkSideDistanceWikidata
17Adirondack Mountainsright, could be either39 kmQ357546
17Albanyright, could be either23 kmQ24861
30Appalachian Mountainsbelow0 kmQ93332
38Finger Lakesbelow0 kmQ1416994
41Rochesterright81 kmQ49218
48Buffaloright51 kmQ40435
66Clevelandleft93 kmQ37320
74Detroitbelow11 kmQ12439
100Great Lakesbelow0 kmQ7347
103Chicagobelow5 kmQ1297
155Omaharight64 kmQ43199
218Front Rangebelow0 kmQ1470027
223Mount Elbertright97 kmQ657225
226Rocky Mountainsbelow0 kmQ5463
233Uncompahgre Peakright, could be either18 kmQ576184
242Mount Pealeright112 kmQ6922678
267Humphreys Peakleft122 kmQ1239004
271Grand Canyonbelow0 kmQ118841
286Las Vegasright90 kmQ23768
LAX to BOS, 19 landmarks
MinuteLandmarkSideDistanceWikidata
28Las Vegasleft90 kmQ23768
44Grand Canyonbelow0 kmQ118841
47Humphreys Peakright122 kmQ1239004
72Mount Pealeleft112 kmQ6922678
81Uncompahgre Peakleft, could be either18 kmQ576184
89Rocky Mountainsbelow0 kmQ5463
91Mount Elbertleft97 kmQ657225
96Front Rangebelow0 kmQ1470027
159Omahaleft64 kmQ43199
211Chicagobelow5 kmQ1297
214Great Lakesbelow0 kmQ7347
240Detroitbelow11 kmQ12439
248Clevelandright93 kmQ37320
266Buffaloleft51 kmQ40435
273Rochesterleft81 kmQ49218
276Finger Lakesbelow0 kmQ1416994
284Appalachian Mountainsbelow0 kmQ93332
297Adirondack Mountainsleft, could be either39 kmQ357546
297Albanyleft, could be either23 kmQ24861
JFK to LAS, 9 landmarks
MinuteLandmarkSideDistanceWikidata
21Appalachian Mountainsbelow0 kmQ93332
39Pittsburghleft56 kmQ1342
50Clevelandright58 kmQ37320
203Front Rangebelow0 kmQ1470027
208Mount Elbertright81 kmQ657225
210Rocky Mountainsbelow0 kmQ5463
217Uncompahgre Peakbelow8 kmQ576184
227Mount Pealeright76 kmQ6922678
254Grand Canyonbelow0 kmQ118841
LAS to JFK, 9 landmarks
MinuteLandmarkSideDistanceWikidata
18Grand Canyonbelow0 kmQ118841
44Mount Pealeleft76 kmQ6922678
54Uncompahgre Peakbelow8 kmQ576184
62Rocky Mountainsbelow0 kmQ5463
63Mount Elbertleft81 kmQ657225
68Front Rangebelow0 kmQ1470027
221Clevelandleft58 kmQ37320
232Pittsburghright56 kmQ1342
251Appalachian Mountainsbelow0 kmQ93332
BOS to DEN, 12 landmarks
MinuteLandmarkSideDistanceWikidata
17Adirondack Mountainsright, could be either29 kmQ357546
17Albanybelow13 kmQ24861
28Appalachian Mountainsbelow0 kmQ93332
30Lake Oneidaright61 kmQ1247231
35Finger Lakesbelow1 kmQ1416994
41Rochesterright56 kmQ49218
48Buffaloright, could be either23 kmQ40435
74Detroitleft, could be either33 kmQ12439
99Great Lakesbelow0 kmQ7347
103Chicagoleft61 kmQ1297
103Milwaukeeright73 kmQ37836
155Omahaleft, could be either27 kmQ43199
DEN to BOS, 12 landmarks
MinuteLandmarkSideDistanceWikidata
56Omaharight, could be either27 kmQ43199
108Chicagoright61 kmQ1297
108Milwaukeeleft73 kmQ37836
112Great Lakesbelow0 kmQ7347
137Detroitright, could be either33 kmQ12439
163Buffaloleft, could be either23 kmQ40435
170Rochesterleft56 kmQ49218
176Finger Lakesbelow1 kmQ1416994
181Lake Oneidaleft61 kmQ1247231
184Appalachian Mountainsbelow0 kmQ93332
194Adirondack Mountainsleft, could be either29 kmQ357546
194Albanybelow13 kmQ24861

Data and credits

  • Landmarks and map outlines: Natural Earth (public domain), linked to Wikidata.
  • 3D view: CesiumJS and Cesium ion, used under their free personal and education terms.
  • Built with Claude for the ieNYC × DataCamp “Be a Master in Claude” challenge. Code on GitHub.
  • Independent student project. Not affiliated with or endorsed by JetBlue Airways.