How to find hidden city gems: a rule you can test
To find hidden city gems, keep only sights rated 4.0 or higher with 10 to 99 reviews and stored opening hours, then check each by name. Here is how that rule did in Porto, Athens and Lisbon: 15 of 184 sights passed. Treat it as a shortlist.
The rule, in one line
I call a card a hidden city gem when it passes five tests on stored fields: it is a sight, it is within 3 km of the city centre, its rating is 4.0 or higher, its review count is between 10 and 99, and opening hours are stored. A stored review count of 100 or more is my cut-off for "well known", and fewer than 10 is too thin to trust. Both numbers are my choices, and the decision table below shows what moving them does.
"Sight" means the stored category is a tourist attraction, museum (art, history or other), art gallery, park, garden, historical site or landmark, monument, statue, bridge, plaza, beach, church, amusement place or theatre. I matched categories ignoring case and underscores, because the same deck stores both ArtGallery and art_gallery.
How to find hidden city gems in any city with a swipe deck
-
Set a centre and a radius.
"Hidden city gems near me" only works with a boundary. I used each deck's stored centre and 3 km, a distance you can cover on foot in a day. Without a radius, cards from far away leak into the list.
-
Keep only sights.
Sights are a small slice of a deck: 184 of 1,468 places within 3 km, about one in eight. Everything else is food, bars and beds, and those win any rating sort. Filter by category first.
-
Swipe, and save the unfamiliar ones.
Going card by card is quicker than reading lists. In NomadSwipe, a card shows a category, rating, distance and opening status, and swiping right saves the place to your trip. Save a name you do not recognise, skip the headline landmark you already know. For a wider method, see how to find things to do in a new city.

A place card with its category, distance and rating, and Skip and Save. 
A saved trip on the map (the Lisbon sample trip from the store listing). -
Check rating and review count on the place's own page.
Keep a saved place if it is rated 4.0 or higher and has between 10 and 99 reviews. Above 100 it is already well known. A 5.0 from a handful of reviews is a coin flip, not a find.
-
Read the name and the type.
Stored categories are loose. Two of the eight Athens cards that passed are a jazz bar and a karaoke venue typed as tourist attractions. A card can pass the numbers and still not be what you want.
-
Look for clusters on the map.
Open the saved places on the map. Gems that sit within a few hundred metres of each other fit in one afternoon, and a lone pin across town is probably not worth the trip. To turn clusters into days, use a 48-hour city break checklist.
Worked example: Porto, Athens and Lisbon
I ran the rule on three city decks. The Porto deck is stored under the name "Hôtel" (the only Porto-centred row), Athens is two rows, and Lisbon is one. I removed duplicate places across all rows of a city before counting.
| Measure | Athens | Porto | Lisbon |
|---|---|---|---|
| Cards in the whole deck | 747 | 878 | 290 |
| Distinct places in the whole deck | 739 | 878 | 290 |
| Distinct places within 3 km | 513 | 726 | 229 |
| Of those, sights | 87 | 67 | 30 |
| Sights with a stored rating above zero | 34 | 45 | 26 |
| Sights with stored hours | 35 | 45 | 16 |
| Sights that pass the full rule | 8 | 6 | 1 |
The next table lists named examples. It is every sight that passed, plus some cards that missed only on stored hours, so you can see what the hours test costs. "Tuesday hours" is the Tuesday line stored in the app.
| City | Place | Stored type | Rating | Reviews | km from centre | Tuesday hours | Note |
|---|---|---|---|---|---|---|---|
| Athens | Orlik Gallery | Art gallery | 4.9 | 28 | 1.4 | Noon - 9 PM | |
| Athens | Pandora Art Gallery | Art gallery | 4.7 | 98 | 1.0 | 10:30 AM - 8 PM | |
| Athens | Mavili Beach | Beach | 4.5 | 21 | 2.6 | 10:30 AM - midnight | |
| Athens | The Athens University History Museum | Museum | 4.3 | 45 | 1.2 | 9 AM - 4 PM | |
| Athens | Roma Gallery | Art gallery | 4.3 | 24 | 1.1 | 11 AM - 8 PM | |
| Athens | kafe Arkouda Classic Jazz Rock & Blues Bar | Tourist attraction | 4.3 | 12 | 2.3 | 10:30 AM - 2 AM | Passes, but it is a bar |
| Athens | Sofokli Art Gallery | Art gallery | 4.9 | 18 | 1.3 | none stored | Fails on hours |
| Porto | Wondersense Museum | Museum | 4.8 | 17 | 0.4 | 10 AM - 7 PM | |
| Porto | Casa Museu Teixeira Lopes | Art museum | 4.6 | 56 | 1.9 | 9 AM - 12:30 PM, 2 PM - 5:30 PM | |
| Porto | Neonia Porto | Museum | 4.5 | 82 | 0.4 | 10 AM - 9 PM | |
| Porto | Parque de São Roque | Park | 4.4 | 33 | 2.4 | 8 AM - 7 PM | |
| Porto | Military Museum Porto | Museum | 4.3 | 46 | 1.3 | 10 AM - 12:30 PM, 2 PM - 5 PM | |
| Porto | Galeria da Biodiversidade | Museum | 4.2 | 39 | 2.8 | 10 AM - 1 PM, 2 PM - 6 PM | |
| Porto | Antiga Cadeia da Relação do Porto | Museum | 4.3 | 53 | 0.4 | none stored | Fails on hours |
| Porto | Fonte dos Leões | Monument | 4.2 | 46 | 0.4 | none stored | Fails on hours |
| Lisbon | Arpad Szenes - Vieira da Silva Foundation | Art museum | 4.1 | 41 | 2.0 | 10 AM - 6 PM | |
| Lisbon | Palácio da Independência | History museum | 4.3 | 13 | 0.5 | none stored | Fails on hours |
| Lisbon | Cine Society - Príncipe Real Terrace | Theater | 4.5 | 66 | 0.9 | none stored | Fails on hours |
| Lisbon | Praça do Comércio | Plaza | 4.5 | 85 | 1.1 | none stored | Fails on hours |
| Lisbon | Tuk Tuk Rides | Tourist attraction | 5.0 | 19 | 0.5 | none stored | Fails on hours, and it is a tour |
Porto's passes are the cleanest: museums, a park and a gallery with ordinary opening hours. Lisbon's deck has the fewest stored hours, only 16 of 30 sights, so the full rule returns one place. That is a limit of the stored data, not a finding about Lisbon. For a Lisbon plan built from better-reviewed places, see what to do in Lisbon in 2 days, and for Porto, a place-by-place Porto plan.
Failure modes I found
- Rounded review counts. 13 of the 1,468 places within 3 km have a count that is an exact multiple of 1,000 (0 in Athens, 9 in Porto, 4 in Lisbon), such as 3,000, 40,000 and 85,000. All 13 are restaurants, cafes and chains, none is a sight, and I did not use any of them.
- Empty and zero ratings. 312 places have no stored rating and 29 more have a rating or review count of zero. Of the 184 sights, 79 have no usable rating, so the rule cannot see them. An empty rating means unknown, not bad.
- Perfect scores on tiny samples. 48 places are rated 5.0 with fewer than 20 reviews (8 in Athens, 20 in Porto, 20 in Lisbon). That is why the rule asks for 10 reviews and why I do not rank by rating.
- Duplicates. The Athens deck holds 747 cards but 739 distinct places, because two rows overlap. Without deduplicating on the place identifier, 8 places would count twice. Porto and Lisbon had none, and no card lacked a place identifier.
- Wrong type. A jazz bar, a karaoke venue and a tuk-tuk ride are stored as tourist attractions. Read the name.
- Low counts that mislead. Praça do Comércio is stored in the Lisbon deck with 85 reviews. A low stored count may not mean a quiet place, and I did not check why this card holds so few.
- Missing hours. 88 of the 184 sights have no stored hours, which is why 28 sights pass without the hours test but only 15 with it.
Decision table: rule strictness against number of results
| Rule | Athens | Porto | Lisbon | What it is good for |
|---|---|---|---|---|
| Sight, 4.5 or higher, 10 to 99 reviews, hours stored | 3 | 3 | 0 | Very strict: a handful of safe picks |
| Sight, 4.5 or higher, 10 to 99 reviews | 5 | 3 | 3 | High rating, hours checked by hand |
| Sight, 4.0 or higher, 10 to 99 reviews, hours stored (my rule) | 8 | 6 | 1 | A shortlist you can visit tomorrow |
| Sight, 4.0 or higher, 10 to 99 reviews | 13 | 10 | 5 | A wider list to check by hand |
| Any category, 4.5 or higher, 10 to 99 reviews | 28 | 106 | 30 | Not hidden city gems: mostly hotels and food |
| For contrast: sight, 4.0 or higher, 100+ reviews | 14 | 17 | 13 | The popular places, not hidden |
Loosening the review range or the radius gives more results, and dropping the category filter gives far more but mostly the wrong kind. In Porto the category-free rule returned 106 places, of which 33 were lodging and only 3 were sights. If you want ten hidden city gems in a city, widen the radius before you loosen the sight test. For a broader look at apps that show places by swiping, see swipe travel apps for Android.
Questions about finding hidden city gems
What counts as a hidden city gem?
There is no standard definition. In this guide it is my own rule on stored data: a sight rated 4.0 or higher, with 10 to 99 reviews and opening hours on file, within 3 km of the city centre. It describes a card, not a fact about the place.
How do I find hidden city gems near me?
Pick a centre point and a radius you would walk, keep only sights, then filter by rating and a low-to-middle review count, and read each name before you save it. Put the saved places on a map and look for clusters you can reach on foot.
How many hidden city gems should I expect?
Few. In the Porto, Athens and Lisbon data the rule returned 6, 8 and 1 sights with stored hours, and 10, 13 and 5 when hours were not required. A list of ten hidden city gems needs a looser rule or a bigger radius.
Why not just sort by rating?
A rating alone hides how few people rated. Across the three decks, 164 places within 3 km were rated 4.5 or higher with 10 to 99 reviews, and only 11 of them were sights. The rest were mostly hotels, restaurants and cafes.
Can I do this in NomadSwipe?
I built NomadSwipe, an Android app where you swipe real places in a city, save the ones you like and see them on a map. Cards show a category, rating, distance and opening status. It does not apply the 10 to 99 review rule for you, so use that step on the place's own page.
Try the filter on your next city
I built NomadSwipe to swipe real places in a city, save the ones you like and see them on a map. It is Android only for now. It shows a category, rating, distance and opening status on each card, but it does not apply the 10 to 99 review rule for you.
Findings, method and sample
Sample and method. I read the NomadSwipe app's place data on 8 November 2026 with read-only queries. I joined cards to destination rows, left out custom-pin destinations, and kept one row per place identifier across all destination rows of a city. Porto is the row named "Hôtel" (country code PRT), Athens is two rows both named Athens, and Lisbon is one row. I measured straight-line distance from each row's own stored centre with a flat approximation (111 km per degree of latitude), and kept places within 3 km. Rating, review count and category are the stored values. A place counts as having hours when a weekly-hours list is stored. The 3 km radius, the 4.0 line, the 10 and 99 review limits and the sight list are my own choices.
- 1,915 cards in three decks (747, 878, 290) hold 1,907 distinct places. 1,468 sit within 3 km (513 Athens, 726 Porto, 229 Lisbon).
- 184 of the 1,468 (12.5%) are sights: 87 in Athens, 67 in Porto, 30 in Lisbon. 96 of the 184 have stored hours.
- The full rule returns 15 places (8, 6, 1). Without the hours test it returns 28 (13, 10, 5). With a 4.5 line and hours it returns 6 (3, 3, 0).
- 164 places in the ring are rated 4.5 or higher with 10 to 99 reviews in any category, and only 11 of them (7%) are sights.
- 13 places have an exact multiple of 1,000 as the review count, none a sight. 48 places are 5.0 with under 20 reviews. 312 have no rating and 29 have a zero rating or zero reviews.
- Stored rows were last updated on 2 October 2026 (Porto), 17 to 18 October 2026 (Lisbon) and between 2 May and 16 July 2026 (Athens), so ratings, counts and hours are snapshots and may have changed.
Limits: three cities, not a sample of cities. The decks do not hold every place in a city, so a place that is missing here may still be a gem. I did not check any place against its own site, I did not copy review text, and I did not verify why some cards hold low review counts. I also did not test other radii.
Sources
- Place data: the NomadSwipe app's Porto, Athens and Lisbon destinations (titles, stored types, ratings, review counts, coordinates and hours as stored), read 8 November 2026. No outside sources were used for facts about places.