I'd assume almost all of that is done server side though. Most likely the app is mostly just a wrapped website with some gps and notification code on top.
The app just calls the GeoLocation API on the device, pings that off to a server and the server responds with services available in <distance>