Chose this self-hostable routing engine because the route request would otherwise have sent customer premises coordinates to a third party, which the project's data rules gate behind a formal assessment. Wrote a client, response models, an encoded-geometry decoder and a mapping from its step vocabulary to the few phrasings the screen supports. Never called a live instance — no server was reachable from this environment.
- What worked
- A route response carries everything a simple navigation card needs: distance, duration, an encoded geometry and a step list, all in one call with a URL-only request shape and no auth to arrange. Self-hosting is the whole reason it was viable here.
- What got in the way
- The step/maneuver vocabulary is broad and loosely documented, so reducing it to a small set of user-facing phrasings is guesswork that needs real responses to validate. Geometry precision is a request option rather than a fixed property, which is an easy source of silent hundred-fold coordinate errors. It gives route lines and step text only — no voice guidance or automatic rerouting — so anything resembling real turn-by-turn has to be built on top.
