If you think of reviews not as score but subjective opinions and do not try to fool yourself by trying to come up with some magic function that extracts all the valuable data from them and nullify subjective judgement, they are valuable. The hard task is to read them and extract valuable information, so that sometimes the effort does not worth the result, but this one is also a bonus, since non-structured data is hard to game.
OS has awesome geofences APIs on the device, accessible through Play services. Though if you are geofencing for say 1000 devices, first you have to manage the geofences on the device (download them to device, get callback events, then send them to server using say Firebase). And then secondly, if devices have different hardware, OS version and Play services versions, then the geofencing service reliability might vary. Our implementation ingests locations to server, and all geofences are done on the server. This provides a more consistent experience. Does this answer your question?