A crowd-sourced review service for OpenStreetMap

Hi folks,

As someone who’s been trying to move away from Google Maps, one thing I really struggled with was the lack of user reviews for places, which is a problem in all major OSM-based apps that I’ve tried: Organic Maps / CoMaps, and OsmAnd.

I rely on reviews to guage how good a place is, which helps me avoid bad ones and choose one between many results returned in a search.

In the past couple of weeks, I’ve been thinking about founding a new free and open-source service for crowd-sourced user reviews on Places of Interest (POIs) in OpenStreetMaps. I’ve decided to start with documenting the model of user-reviews and the API reference.

I would love to hear your feedback, good or bad, as I start the implementation of the API reference shared above. If you’d like to join me in building this, let me know!

6 Likes

Sounds good on paper, but who’s going to moderate it all? Consider for example the spam from bots and SEO companies, as well as reviews that are left in bad faith (for example by internet trolls) or by people who haven’t even been to a specific place of interest.

7 Likes

Have you looked at pre-existing ones? Reviews - OpenStreetMap Wiki

14 Likes

Because OSM itself is just a geo database, not a replacement for Google Maps.

Multiple attempts at an OSM-based review system have been made but none has ever took off (for various reasons).

That and the question of who’s going to moderate the reviews? Casper pointed out

1 Like

This one requires an invitation link to register FYI

Hi @boramalper!

Questions as you requested:

  1. How are you going to sync with osm? what will you do, for example, if an OSM editor will move a poi from node to way/relation (say, building outline) or vice versa?

  2. Will it be possible to mark a place as no longer existing? if yes, how will you propagate this change back to OSM?

  3. Will the original OSM id be present in the data returned by API? It could be very useful for applications.

  4. Is any kind of mobile application planned? if yes, it would be reasonable to accept reviews only from persons how has visited those places (confirmed by GPS data).

  5. Will there be quests to visit places which were not [recently] visited to confirm its’ existence (similar to StreetComplete)?

1 Like

It would be useful to confirm the scope of what you plan to build (and therefore what you want comments on).

When you say “service”, are you thinking of a database and API, with potentially multiple independent websites and apps using it (similar to the way multiple applications use the OSM database)?

Or do you plan to build a full application including the user interface(s)?

And as already mentioned - is this an alternative to Mangrove Reviews with similar functionality, or something different from that?

5 Likes

In addition, there was “Open Place Reviews”, but has been discontinued June 2023: https://web.archive.org/web/20230619215116/https://openplacereviews.org/

In my opinion we should try to bootstrap the existing system with adding reviews and app integration instead of starting another competing alternative – which would have the same problems to get off the ground.

9 Likes

Hi again,

Thank you for taking the time and all your comments, much appreciated! I’ll reply to them in mixed order that makes it easier to read as a whole:

Exactly that. I’m planning to build a web app for it too but more as a technology demo to bootstrap the project. The way I see it is that mobile apps such as Organic Maps / CoMaps and OsmAnd integrate through the API (for posting reviews) and periodic database dumps (for reading reviews and statistics).

Of couse! I don’t think OpenStreetMap should have (or have had) this functionality at all. However, I believe that the broader OSM ecosystem should have a solution for this, hence my proposal.

I have! My concern however is that they might be too generic—a “platform for reviewing absolutely anything”—to be useful. Reviewing places (POIs) is much different than reviewing books, albums, or TV series. A place is an living entity that changes whereas a book, an album, or a TV series is “one and done”. In practical terms, this means:

  • The food served at a restaurant might have significantly worsened after its kitchen staff quit 4 months ago, whereas the sentiment around books don’t change that fast.
    • The review system should be dynamic enough to capture and reflect this change. One way to do this for example is to attribute more weight to recent reviews while calculating average scores.
  • A cafe might move 200 metres down the street to a new location (hence having a new OpenStreetMap ID and a new pair of geo-coordinates), whereas the ISBN of a book never changes.
    • The cafe shouldn’t lose all its reviews because of a move. This requires a separate permanent ID that is distinct from OpenStreetMap IDs (which are not permanent) and geo-coordinates (like Mangrove uses).
  • Likewise, a cafe might change its name whilst its staff remains the same which again cannot happen to a book.
    • The cafe shouldn’t lose all its reviews as before.

The point I’m making is that there is a lot of complexity around long-lived identities in real-world that a review system has to capture as subjects are very dynamic. I don’t think there are hard and fast rules so a lot of these cases would require moderator attention to be dealt with on a case by case basis.

Good question! I’m still deliberating on this but here is what I’m thinking so far:

  • Unlike Mangrove Reviews and like lib.reviews, I’m in favour of requiring accounts for posting reviews as the first layer of protection.
  • We can require every rating (like/dislike) to have a comment (of at least 140 characters), describing the place and their rating.
  • We can use LLMs to automatically flag reviews for moderator attention.
  • We can employ rate-limiting as well.
  • As a last resort, we can ask users to solve a CAPTCHA before submitting a review if they’re flagged for suspicious behaviour.

I’m currently thinking of syncing with OSM on-demand (i.e. upon an API request from a user that requires it) with a local cache so that I don’t make too many requests. So for example, when a user looks up a Place, I search my local database first and call Overpass API if I don’t have it locally. I look up places by their approximate location and their name like Mangrove, but assign them unique permanent IDs unlike it.

It won’t be possible to mark a place as no longer existing on our side. Such factual changes (including opening hours too for example) must be done in OSM.

Nope, that’s also about factual information which is the domain of OSM.

I can try! As you said, an OSM editor may move a POI from node to way/relation so I don’t know how useful this will and how to handle such changes.

I don’t have the resources to develop a mobile application but I’m thinking of a web application with great mobile support. My first priority is to complete the backend, however.

6 Likes

yes, it is tricky. The could have a new OpenStreetMap id or not. And some parts of the reviews could be invalidated by the place moving, while others likely not. E.g. if staff is friendly and motivated, or the food is “delicious” (by whatever norm), it will not typically change because they moved to a different location, but if they had a garden where you could sit in the shade, it may not be the case anymore in their new location (etc.)

It is tricky indeed. The good news is that by attributing more weight to recent reviews (also called rating decay), we can handle situations like those with ease:

Continuing the example, if the lack of a garden proves to be significant, recent reviews should reflect that and because recent reviews have more weight in the score, its score will reflect this negative change quickly. If the garden turns out to be not that big of a deal, then it’s even better because the place will get to keep its existing reviews (either way) and its score will also remain the ~same in that case.

I am just throwing out an idea that has been floating around in my head for a while (Though it seem like a lot more work to implement and unlikely to actually occur)

  1. Have a general review platform for reviewing anything (Apps, Websites, Products, Places…)
  2. Let this general platform be linked to a review aggregator
  3. People start using the platform for the other things to be reviewed and for the aggregation function
  4. ???
  5. The platform becomes mildly popular
  6. People start reviewing places too
  7. We are now able to add the review-platform id in OSM similar to how we add a wikidata id
1 Like

But, as has been asked before, who are the moderators?

& how do they adjudicate when 2 reviews on the same day say “Best meal ever” & “Lousy food, poor service & very expensive”? :thinking: Does the mod have to travel there & check it out themself? :grinning:

2 Likes

As an end user of all of these maps, I think the biggest question you need to answer is why will people want to use your map instead of existing Gmaps? If you are pitching this as an alternative, why should I even join it at all?

I always support substitutions, but Gmaps seems to have such an advantage in nearly every way:

  • Review history
  • POI completeness
  • Public knowledge
  • Reputation

What is it about your project that will draw people?

1 Like

As in, let this platform also aggregate reviews across Google Maps, TripAdvisor, and so on? I don’t think those review platforms would allow something like this.

Of course not. Moderators’ job is to prevent spam, harrasment, and so on, not to be arbiters of truth. Also, factual information such as working hours, cuisine, dietary options, and so on are in the domain of OSM, not the review system.

That’s a great question and one that concerns every social network. I’m hoping that being free and open will attract a certain group of people, mostly enthuisasts, first which will then be followed by more and more people over time. Bootstrapping social networks is hard as you said, but I’m hopeful since we also have some pretty successful examples of it in the Fediverse such as Mastodon and Lemmy.

1 Like

Fine. Ignoring the very tongue in cheek comment about visiting the actual site :grinning:, I’ll ask again - who are your Moderators?

If you’re suggesting that the DWG will also take on moderating complaints about “spam, harrasment, and so on” in reviews, then I can tell you now that the DWG doesn’t want that extra work! :zany_face:

2 Likes

Roughly in order, my comments would be:

  • Good luck!
  • Ignore the naysayers above who say that (something) is impossible because (something tangential) is difficult
  • Try and divide the problem space into small areas - perhaps initially only a certain kind of review in a certain area?
  • Don’t forget that people will already have solutions (or at least partial solutions) to a lot of the problems that you’ll find along the way. Finding this might be difficult (my recollection is that some of the Mapzen stuff might be useful for some of the problems and that’s under the umbrella of the Linux Foundation now), but it’s worth looking before reinventing the wheel.
  • Have a plan for dealing with (a) people who are making legal and legal-adjacent challenges and (b) people who are just (expletives)
  • (again) Good Luck!
12 Likes

I am not motivated enough to create such system, but I would join working one (even one without reviews) on account it not being Google.

1 Like

I don’t think youtube wants to allow greyjay, invidious, piped or many other advert lacking front ends to exist either.

I’ve recently started working on adding reviews to OsmAnd. It’s great to see an interest and contributions to this area!

I see two major challenges to bootstrapping a review database:

  1. Adoption. Having sufficient reach for the database to cover enough POIs to be useful;
  2. (once adoption is achieved) Moderation – that’s been pointed out by many others in this thread.

For the OsmAnd MVP I decided to use Mangrove. The main reason was the adoption factor: the service has already been integrated into MapComplete, and so far the number of reviews is growing steadily. I think it makes sense to bet on a common, open review dataset to use alongside OSM.

@boramalper raised a few concerns about generic services such as Mangrove.

This can be seen as a client concern. For example, in the OsmAnd pilot I’m working on, the raw reviews are downloaded from Mangrove and then batch-processed to prepare a downloadable review bundle. Part of this processing involves calculation of aggregate ratings, and this can take into consideration review freshness.

I agree Mangrove doesn’t currently offer a good solution to this. My intuition is that this is going to be a fairly marginal problem, especially when compared to moderation. If needed, a solution to that could be bolted onto a system that uses something like Mangrove’s geo: ids or OSM feature ids, for instance by incorporating some data about the “genealogy” of businesses (say, “the business described by node 23456 is a descendant of that at node 12345 as of 2025-08-13”)

I love the thinking @boramalper put into the problem. It would be great if we could avoid fragmentation and focus on supporting a system that stands a chance of being widely adopted. That said, at this point no such system emerged yet (both lib.reviews and mangrove.reviews datasets are tiny compared to commercial ones) so there is an opportunity for a new entrant to the field. Good luck!

8 Likes