Atlas
An iPhone app that builds a travel record out of the photos already on your phone. It reads where and when each one was taken, then maps every city and country you have been to.
- Year
- 2026
- Scope
- iOS App, Development
- Built with
- Swift, SwiftUI, PhotoKit, MapKit, Core Location
- Live project
- Visit site

WHAT WE BUILT
Built On Device
The interesting part of Atlas is what happens between opening the app and seeing a map. Every located photo is read for its date and coordinates, those coordinates are turned into place names, and the result is bucketed into visits, trips and statistics. All of it runs on the device and off the main thread, and it has to stay quick on a library of tens of thousands of photos.
Photo times are shown in the timezone they were taken in, and distance is measured along the whole chronological chain of visits, so the flight out counts rather than only the moving around once you arrive.
Geocoding and Caching
Coordinates are quantised onto a roughly 2km grid before they are looked up, and every answer is cached to disk. A city someone has photographed a thousand times costs a handful of lookups rather than a thousand.
Place Naming
Geocoders return administrative names nobody uses out loud. Atlas strips the wrappers, so Mueang Chiang Mai District reads as Chiang Mai, and promotes wards and boroughs to the city they sit in.
Visits and Trips
Photos fall into visits based on the gaps between them, and visits chain into trips. A holiday that touches four cities reads as one journey, with its dates and its cities in the order they were seen.
Working Out Home
Home is inferred from how many separate months a place turns up across rather than how many photos it holds, so a long holiday is not mistaken for where someone lives.
- Native iPhone app written in Swift and SwiftUI for iOS 18 and later
- Photo metadata read on the device through PhotoKit, so images are never copied or uploaded
- Every city and country worked out from the library itself, with no trips to create and nowhere to check in
- A world map with a photograph pinned at each city and the routes of each trip drawn between them
- Travel statistics covering countries out of 195, continents, cities, time zones, days away and distance travelled
- A passport of stamps for continents, country and city milestones, distance, latitude and seasons
- Stamps kept in the reader's own iCloud, so they follow them to a new phone without an account
- Share cards rendered at 3x, sized for an Instagram or TikTok story rather than a screenshot
- Limited photo access supported as a first-class state, with an in-app control to change the selection
A travel record that builds itself out of photos people already have, without an account, a server, or anything to fill in.





