Skip to content

Offline reverse-geocoding for GPS to city#20

Merged
ankitsejwal merged 4 commits into
mainfrom
feat/reverse-geocoding
Jun 28, 2026
Merged

Offline reverse-geocoding for GPS to city#20
ankitsejwal merged 4 commits into
mainfrom
feat/reverse-geocoding

Conversation

@ankitsejwal

Copy link
Copy Markdown
Member

Implements #5 — resolves photo GPS to a city name fully offline.

  • Decision documented in docs/decisions/0001-offline-reverse-geocoding.md: offline-first to honour the no-upload privacy promise (online API would leak every photo's coordinates).
  • Uses offline-geocode-city (~1.7 MB bundled cities dataset), lazy-loaded via dynamic import() so it never bloats the initial bundle.
  • reverseGeocode(lat, lon){ city, country, countryIso2 } or null; wired into EXIF captions in EXIF auto-caption — date + city via exifr (headline feature) #4.

Validated against real GPS photos (Cortona, Italy samples): GPS 43.46, 11.88Cortona, Italy. ✅

pnpm lint/typecheck/build all green.

Closes #5

@ankitsejwal
ankitsejwal merged commit 3aee2b2 into main Jun 28, 2026
1 check passed
@ankitsejwal
ankitsejwal deleted the feat/reverse-geocoding branch June 28, 2026 12:41
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Decide GPS→city reverse-geocoding (offline dataset vs opt-in API)

1 participant