NomadSwipe All comparisons

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.

Disclosure: I built NomadSwipe, an Android trip planner, and I wrote this guide. The numbers come from the NomadSwipe app's stored place data for Porto, Athens and Lisbon, read on 8 November 2026 with read-only queries. The rule below is mine. It is not a fact about any place.

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

  1. 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.

  2. 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.

  3. 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.

    NomadSwipe place card with a category tag, distance, star rating and Skip and Save buttons
    A place card with its category, distance and rating, and Skip and Save.
    NomadSwipe trip map with the saved places pinned
    A saved trip on the map (the Lisbon sample trip from the store listing).
  4. 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.

  5. 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.

  6. 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.

Places inside 3 km of each deck's stored centre, and how many pass the rule (read 8 November 2026)
MeasureAthensPortoLisbon
Cards in the whole deck747878290
Distinct places in the whole deck739878290
Distinct places within 3 km513726229
Of those, sights876730
Sights with a stored rating above zero344526
Sights with stored hours354516
Sights that pass the full rule861

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.

Examples by city (rating, review count and Tuesday hours as stored)
CityPlaceStored typeRatingReviewskm from centreTuesday hoursNote
AthensOrlik GalleryArt gallery4.9281.4Noon - 9 PM
AthensPandora Art GalleryArt gallery4.7981.010:30 AM - 8 PM
AthensMavili BeachBeach4.5212.610:30 AM - midnight
AthensThe Athens University History MuseumMuseum4.3451.29 AM - 4 PM
AthensRoma GalleryArt gallery4.3241.111 AM - 8 PM
Athenskafe Arkouda Classic Jazz Rock & Blues BarTourist attraction4.3122.310:30 AM - 2 AMPasses, but it is a bar
AthensSofokli Art GalleryArt gallery4.9181.3none storedFails on hours
PortoWondersense MuseumMuseum4.8170.410 AM - 7 PM
PortoCasa Museu Teixeira LopesArt museum4.6561.99 AM - 12:30 PM, 2 PM - 5:30 PM
PortoNeonia PortoMuseum4.5820.410 AM - 9 PM
PortoParque de São RoquePark4.4332.48 AM - 7 PM
PortoMilitary Museum PortoMuseum4.3461.310 AM - 12:30 PM, 2 PM - 5 PM
PortoGaleria da BiodiversidadeMuseum4.2392.810 AM - 1 PM, 2 PM - 6 PM
PortoAntiga Cadeia da Relação do PortoMuseum4.3530.4none storedFails on hours
PortoFonte dos LeõesMonument4.2460.4none storedFails on hours
LisbonArpad Szenes - Vieira da Silva FoundationArt museum4.1412.010 AM - 6 PM
LisbonPalácio da IndependênciaHistory museum4.3130.5none storedFails on hours
LisbonCine Society - Príncipe Real TerraceTheater4.5660.9none storedFails on hours
LisbonPraça do ComércioPlaza4.5851.1none storedFails on hours
LisbonTuk Tuk RidesTourist attraction5.0190.5none storedFails 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

Decision table: rule strictness against number of results

Places returned within 3 km, by rule (read 8 November 2026)
RuleAthensPortoLisbonWhat it is good for
Sight, 4.5 or higher, 10 to 99 reviews, hours stored330Very strict: a handful of safe picks
Sight, 4.5 or higher, 10 to 99 reviews533High rating, hours checked by hand
Sight, 4.0 or higher, 10 to 99 reviews, hours stored (my rule)861A shortlist you can visit tomorrow
Sight, 4.0 or higher, 10 to 99 reviews13105A wider list to check by hand
Any category, 4.5 or higher, 10 to 99 reviews2810630Not hidden city gems: mostly hotels and food
For contrast: sight, 4.0 or higher, 100+ reviews141713The 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.

Get NomadSwipe on Google Play

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.

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.

Related guides: Athens two day itinerary, a 7-step method for a new city, a weekend city break checklist, how to save places for a trip and how to plan a trip on a map.

Sources