flowchart LR
A["📱 iPhone (React SPA)"] -->|"address string"| B["FastAPI /api/location/geocode"]
B -->|"lat, lng"| A
A -->|"haversine + bearing<br/>vs. live docks"| A
A -->|"webkitCompassHeading"| N["🧭 needle = bearing − heading"]
subgraph Client [runs entirely on device]
A
N
end
style Client fill:#DEEBF7,stroke:#2b8cbe


