I am not a GIS/GPS expert, but since you mentioned the "recommendation", I assume you will save at least coordinates of the points/locations of your interest. Keep in mind that all your coordinates will create a huge network (graph) at the end. For various recommendation scenario, I utilize graph databases. Currently, Neo4j graph database has the functionality for geospatial queries. I think that will help your quite a lot.
One of the new tasks added to the recommender system are tourist guides to find relevant services or support exploring area task and route recommendation that is related to generating a recommendation of the quickest, the shortest or
the most economical path relative to users current geographical location by using the their preferences. Both tasks usually depend on context information one of it is user location. You can check article (i.e. Mobile-based RS section) which review the recent contribution to this area in order to build a background about it and answer your questions. Article The Recommender System: A Survey