The Moment
At some point, I wanted to show the distance between places within a day’s itinerary. It sounds like a small detail, but it changes how a trip is perceived. Whether something feels nearby or far apart influences how manageable the day feels. Initially, it seemed straightforward. There are many APIs that can calculate distance instantly. It would have been easy to integrate one and move on.
The Tension
But something didn't sit quite right. Using an external API would give me the answer, but it would also introduce another layer - another dependency, another cost, and another piece of logic that I didn't fully control. More importantly, I realised I didn't need everything those APIs provided. I didn't need routing, traffic conditions, or multiple path options. I just needed a clear and consistent sense of distance.
What I Did and Changed
Instead of integrating an external service, I decided to calculate it directly using coordinates. The approach was simple. It focused on consistency rather than precision. The goal was not to replicate a navigation system, but to provide a useful reference within the product. By doing this, I kept the logic within the system. It became predictable, easy to use, and aligned with the needs of the experience.
The Insight
Not every problem needs an external solution. Sometimes, a simple approach that you fully understand is more valuable than a complex one you depend on.
Broad Reflection
There is always a trade-off between convenience and control. External services can accelerate development, but they also shape how your system behaves. When the problem is simple enough, solving it directly can lead to better clarity and flexibility. Knowing when to build, and when to integrate, is a matter of judgement.