How it's made
Under the map.
A Metal engine written for it, a boundary dataset built for it, and three languages.
The idea.
Your photo library already holds your travel history: every picture has a date, most have a place. Nookfar turns that into a map of where you have been and a journal of the trips that took you there, and it does the whole job on the device the photos are on.
It is a map first. Not a web map in a window, but a globe of its own, drawn by a Metal engine written for it, from a boundary dataset built for it, so that every line on screen is one I can account for. Zoom from the whole Earth to a mountain pass, in the projection you prefer, in your language. Your trips draw on top of it: shaded countries and regions, the places you slept, the routes between them.
It renders where you have already been. It is a journal, not a guide.
The parts. Briefly.
- 01 · Platform
Swift, SwiftUI and SwiftData, on iOS, iPadOS and macOS 27.
- 02 · Engine
A custom Metal rendering engine, separate from SwiftUI, with a declarative node language of its own; one copy of the world in memory however many maps are on screen.
- 03 · Data
Its own boundary dataset, built by its own pipeline from Natural Earth (public domain), GeoNames (CC BY 4.0), OurAirports (public domain) and Wikidata (CC0), with every download pinned by hash and every correction recorded. The credits and licenses are shown in the app.
- 04 · Languages
In English, Polish and French, place names on the map included.
- 05 · Test photos
No screenshot or test ever touches a real library. Development builds show generated pictures, or a set of public-domain photos loaded in its place; the screenshots on this site use one.
- 06 · Promises
Every promise on the Privacy screen is checked by a script against the code that would break it.
