23-Jan-2026 — cache start coordinates, lazy load GPX list, and refactor ref: #133
- Add startLat/startLng fields to FileNameData and ServerFileNameData
- Extract and cache GPX start coordinates at upload time
- Use cached coordinates in list endpoint, only parsing from S3 if needed
- Process GPX files sequentially instead of Promise.all to prevent memory exhaustion
- Auto-cache coordinates on first access for existing files
- Lazy load GPX file list only when dropdown is opened (not on page load)
- Show existing GPX file name without fetching entire list
- Refactor server-side processing into smaller functions