Development journal / PeakSight - Altitude & AR
PeakSight development journal: altitude, mountains, and AR ridgelines
Inspired by a road trip around China, PeakSight explores GPS and barometric altitude, mountain identification, and the limits of a procedurally drawn ridgeline.
This third product came from a specific need on our road trip around China. When traveling along the eastern coast, we had little reason to think about it. Once we reached the northeast, and especially as we headed west from the Hexi Corridor, looking at mountains and identifying them became part of everyday life. In Tibet, with mountains all around us, I could not stop wondering which ones they were.
Where the idea came from
We mainly wanted two things:
See our current altitude. An altitude app with a distinctive big red dot was very popular on Xiaohongshu. People used it to show where they were and how high they had traveled.
Identify mountains by their ridgelines. This is a much smaller niche, with few products serving it. The main examples I knew were PeakVisor, whose annual subscription cost more than RMB 1,000 at the time, and an AR mountain-map app made by a Japanese developer.
I wanted a simple alternative that combined the two, without the many complex features intended for professional mountaineers. That became PeakSight.
What the app does

Current altitude
The app has only two or three screens. The home screen shows your current altitude, with the option to switch between GPS and barometric altitude. Apple first added a barometer in the iPhone 6 series, allowing more precise altitude measurements in some situations. My feeling was that GPS altitude usually sufficed in the mountains, while the barometer was more useful high up in a concrete building in the urban jungle.
Ridgeline
Rotate your phone to see mountain names matched to the ridgeline. My implementation is still rough, using a freely available public database. Here is GPT's explanation of how it works:
PeakSight uses “peak locations plus procedural contours,” not real DEM terrain. It has three data layers: 92 built-in famous peaks, online peaks from OpenStreetMap Overpass, and a local download cache. From the user's location, the app calculates each peak's distance and bearing. It then combines elevation, distance-based falloff, and phone orientation to draw a continuous silhouette. AR uses the same data to project labels using azimuth and elevation angles. Names, elevations, distances, and directions are grounded in actual data, but mountain shapes, valleys, and occlusion are visual simulations. Accurately matching a real ridgeline would require elevation data such as SRTM or Copernicus DEM.
So it cannot draw the same high-precision ridgelines as those two other apps. Their contours are beautiful and can align closely with the actual mountains. One paying user nevertheless purchased ad removal and my simulated AR ridgeline feature. I felt I owed that person a better result.
I live in a city with only small hills rather than proper mountains, so I do not have a good testing environment. If you would like to help improve the product, get in touch. I can add you to the test group, and we can work on it together.