DEV Community

Cover image for šŸš€ I’m Building ā€œSafeMapā€ – A Tinder-Style Travel App That Prioritizes Safety (Brutal Feedback Needed)
Nishkarsh Pandey
Nishkarsh Pandey

Posted on

šŸš€ I’m Building ā€œSafeMapā€ – A Tinder-Style Travel App That Prioritizes Safety (Brutal Feedback Needed)

Debate on neighborhood bias and data

Imagine this:

You land in Rio at 11PM, solo, tired, and slightly paranoid.

Instead of opening 10 tabs on TripAdvisor, Google Maps, and Reddit…
You open one app and see this:
šŸ‘‰ Swipeable cards like:

->ā€œšŸ›”ļø Safe airport transfer (Verified)ā€
->ā€œāš ļø Avoid this area after 9PMā€
->ā€œšŸŒ… Best morning spot (safe 6–10AM only)ā€

No clutter. No 500 pins. Just clear, contextual, safety-first recommendations.
šŸ’” The Idea: ā€œSafeMapā€

A card-based discovery app for travelers where:

You swipe places like Tinder
Every card includes real safety insights (not just ratings)
Locals + travelers vote on:
šŸ‘ Worth it
šŸ›”ļø Felt safe
šŸ’Ž Hidden gem
🚫 Tourist trap
🧠 Example (Real Scenario)

You search ā€œRio de Janeiroā€ and get:

Card 1: Christ the Redeemer
⭐ 4.8 | 🟢 Safe all day
šŸ‘‰ ā€œGo at 7AM, avoid 10AM–2PM crowdsā€
šŸ‘¤ Verified Local (203 contributions)

Card 2: Santa Teresa
⭐ 4.6 | 🟔 Safe till sunset
āš ļø ā€œAvoid Lapa steps after darkā€

Card 3: Pedra do TelƩgrafo
⭐ 4.9 | šŸ”“ Risk after 4PM
🚨 ā€œGuide required (robbery risk)ā€

šŸ”„ What Makes This Different?

  1. No Map Chaos No 300+ pins Just 10–15 curated cards per city
  2. Safety > Aesthetic

Real-time alerts:

ā€œ3 pickpocket incidents in last 48 hoursā€

  1. Smart Ranking Algorithm Score = (Upvotes Ɨ 0.4) + (Safety Ɨ 0.3) + (Recency Ɨ 0.2) + (User Match Ɨ 0.1)
  2. Personalized ā€œArrival Modeā€

We ask:

Solo or group?
Budget?
Arrival time?

Then generate:
šŸ‘‰ ā€œYour First 24 Hours (Safe Plan)ā€

āš ļø Where I Need Brutal Feedback

I’m validating BEFORE building full-scale.

  1. Trust Problem

šŸ‘‰ Would you trust:

ā€œVerified Localā€ badges?
Safety votes from strangers?

OR does this feel like it can be easily gamed?

  1. Cards vs Maps

We’re betting:

80% cards (discovery)
20% map (navigation)

šŸ‘‰ Would YOU prefer this over Google Maps / TripAdvisor?

  1. Card Fatigue

šŸ‘‰ Be honest:

Would 10–15 cards per city feel:
āœ… curated
āŒ too limiting

  1. Cold Start Problem (BIG ONE)

New city = no data.

Options I’m considering:

Seed with local curators (ā€œCity Guardiansā€)
Scrape + filter existing data (risky?)
AI-generated starter cards (even riskier?)

šŸ‘‰ How would YOU solve this?

  1. Dealbreaker Question

If your first 5 cards are wrong or unsafe…

šŸ‘‰ Do you:

Give it another chance?
Or uninstall instantly?
šŸ’° Monetization (Be Honest Here Too)

Would this break trust?

1 sponsored card per 10
Clearly labeled: ā€œOfficial Safe Partnerā€

šŸ‘‰ Acceptable or instant red flag?

🧪 Final Test

You land in:

Rio šŸ‡§šŸ‡·
Cairo šŸ‡ŖšŸ‡¬
Mumbai šŸ‡®šŸ‡³

You open SafeMap.

šŸ‘‰ What would make you:

Swipe right instantly
OR close the app in 10 seconds
šŸ™ I Want Real Criticism (Not Polite Feedback)

Tear apart:

The idea
The algorithm
The UX
The trust model

If this sucks, I’d rather know NOW than after 3 months of building.

šŸ‘‡ Drop your thoughts:
Would you use this?
What’s missing?
What’s dangerous about this idea?

Let’s build something actually useful for travelers.

Top comments (16)

Collapse
 
bhuvi_d profile image
Bhuvi D

This seems like a really interesting and useful idea.
I just wanted to clarify this -
Suppose a person has an intended destination X and has to go through a certain set of places like A, B, C to reach there. So will all those places and X be what is available in the swipe feature? As in, what is the user actually going to swipe on? Is it based on the route?

Collapse
 
nish2005karsh profile image
Nishkarsh Pandey

Great question — and I probably didn’t explain this clearly in the post.
The swipe isn’t route-based (A → B → C → X).
It’s context-based discovery.
So users are swiping on:
• Places (destinations, neighborhoods, spots)
• Experiences (e.g., ā€œmorning beach walk,ā€ ā€œnight marketā€)
• Situational cards (e.g., ā€œsafe airport transfer,ā€ ā€œareas to avoid tonightā€)
In your example:
If someone wants to go to X, the app would show:
Cards for X (destination insights)
Cards for nearby areas (A, B, C if relevant)
Possibly a separate ā€œhow to get there safelyā€ card
But not a strict step-by-step route in swipe form.
Navigation itself would still rely on a map — the cards are more about:
ā€œWhere should I go / avoid?ā€
ā€œWhen and how should I go?ā€
I’m also thinking about eventually layering in route-aware safety hints, but probably not in the swipe flow (might get overwhelming).
Would be curious if a route-based swipe experience would actually feel useful or just confusing.

Collapse
 
bhuvi_d profile image
Bhuvi D

This makes sense now, thankss :)

My next concern is ranking. If the feed mixes places, experiences, and alerts, how do you decide what shows first?
Because ordering, personalization, and relevance seem critical here - someone landing at night may need safety/transport first, while a daytime tourist may want experiences.

Collapse
 
itskondrat profile image
Mykola Kondratiuk

the UX is clean but I'd push back on the data layer - safety conditions change constantly. a card marked 'avoid after 9pm' from 6 months ago is worse than no card. how do you handle data freshness?

Collapse
 
nish2005karsh profile image
Nishkarsh Pandey

This is a really fair pushback — stale safety data is actually worse than no data.
The way I’m thinking about it is to treat safety as time-decaying, not static:
• Every data point has a timestamp + decay function (older inputs lose weight quickly)
• Cards surface ā€œlast updatedā€ + confidence level instead of fixed statements
• If data is too old → the card shifts into a ā€œlow confidence / research modeā€ instead of showing strong guidance
For example, instead of:
ā€œAvoid after 9PMā€
It becomes:
ā€œPreviously flagged for late-night incidents (last confirmed 6 months ago — low confidence)ā€
Long-term, I’d want:
• Real-time user reports (with rate limits to prevent spam)
• Possibly external signals (events/news)
• Auto-expiry of safety flags unless reconfirmed
So the system errs on uncertainty over outdated certainty.
Still very much an open problem — if you’ve seen good patterns for handling freshness in similar systems, I’d love to learn from that.

Collapse
 
itskondrat profile image
Mykola Kondratiuk

the decay function is the hard part — half-life varies wildly by neighborhood. some blocks shift week to week; others are stable for years. i’d probably lean on crowdsourced re-verification triggers over pure time-based decay. did you consider letting users flag staleness directly?

Thread Thread
 
nish2005karsh profile image
Nishkarsh Pandey

That’s a great point — a fixed decay model probably oversimplifies something that varies a lot by location.
I really like the idea of crowdsourced re-verification. Instead of just time-based decay, I’m thinking of introducing a ā€œneeds revalidationā€ state where older cards lose confidence and prompt users to confirm if the info is still accurate.
Letting users directly flag something as outdated also makes sense. That could reduce confidence, weaken strong claims, or trigger a re-check loop rather than relying purely on time.
Feels like a better approach is combining light decay with active revalidation instead of trying to model freshness only through time.

Thread Thread
 
itskondrat profile image
Mykola Kondratiuk

the "needs revalidation" state makes sense - softer than full expiry, more honest about uncertainty. the real question is what triggers it. time threshold is reliable but dumb; field signal is smarter but only works if someone shows up to send it.

Thread Thread
 
nish2005karsh profile image
Nishkarsh Pandey

Yeah, that tradeoff makes sense.
I’m leaning toward a hybrid trigger:

  • time-based threshold as a baseline safety net
  • overridden by field signals when available So even if no one reports anything, the system still degrades confidence over time. But if users actively flag or revalidate, that immediately updates the state. Also considering weighting by ā€œvolatilityā€ of a place over time — some locations would naturally enter revalidation faster than others based on past change frequency. Trying to avoid both extremes: blind decay vs. complete dependence on user activity.
Thread Thread
 
itskondrat profile image
Mykola Kondratiuk

yeah, hybrid covers both failure modes - signals when people show up, decay when they don't. cleaner than choosing one.

Collapse
 
automate-archit profile image
Archit Mittal

The 'Tinder-style for travel safety' framing is interesting but I'd push back on one thing: swipe-based UX optimizes for fast judgment, while safety decisions usually benefit from slow, deliberate evaluation. The two might be in tension. Have you considered a different signal pattern — maybe a bookmark-then-review flow, or surfacing safety scores prominently before the swipe rather than after? Curious how user testing has played out so far. Also, where's the ground truth for safety data coming from? That's usually the hardest part of building anything in this space.

Collapse
 
nish2005karsh profile image
Nishkarsh Pandey

This is a really insightful point — and honestly something I’m still figuring out.
You’re right that swipe UX encourages fast decisions, while safety probably needs deliberation. My current thinking is:
• Swipe is just for triaging options (save / skip)
• The actual decision happens after tapping into a card
• Safety signals (score, alerts, recency) are visible before the swipe, not hidden behind it
So ideally:
Swipe = ā€œIs this worth considering?ā€
Tap = ā€œIs this actually safe for me?ā€
That said, I’m definitely exploring alternatives like:
• Bookmark-first → review later
• Or forcing a quick ā€œsafety summaryā€ before allowing a save
On ground truth — agreed, that’s the hardest part.
Right now I’m thinking of a hybrid approach:
• User reports (with weighting + history)
• Verified local contributors (not absolute authority, but higher signal)
• Recency + frequency of incidents
• Eventually external datasets where possible
But I’m trying to avoid presenting anything as absolute truth — more like confidence-weighted signals.
No real user testing yet beyond mock flows, so this is still very much in the hypothesis stage.
Really appreciate this — it’s exactly the kind of tension I need to resolve early.

Collapse
 
sharjeelz profile image
Sharjeel Zubair

who decides which area is dangerous?

Collapse
 
nish2005karsh profile image
Nishkarsh Pandey

Great question — and honestly one of the hardest parts of this idea.
The goal is that no single person ā€œdecidesā€ an area is dangerous. It would be a combination of signals:
• Aggregated user reports (e.g., recent incidents like pickpocketing)
• Local contributors with verified history (weighted higher, but not absolute)
• Recency-based data (something unsafe last night ≠ unsafe all the time)
• External signals (news/events where possible)
So instead of labeling a place as ā€œdangerous,ā€ the app would try to show context like:
-> ā€œ3 incidents reported in last 48 hoursā€
-> ā€œSafe during daytime, avoid late nightā€
The idea is to avoid permanent labels and focus on time-sensitive, situational awareness.
Still figuring out how to prevent bias or misuse here — would love your thoughts on how you’d approach this.

Collapse
 
ben profile image
Ben Halpern

Definitely could be helpful. Would need a lot of nuance as to not pigeonhole certain neighborhoods etc I'd imagine.

Collapse
 
nish2005karsh profile image
Nishkarsh Pandey

That’s a really important point — and something I’m trying to be very careful about.
The last thing I want is to label entire neighborhoods as ā€œunsafeā€ and reinforce stereotypes. The intention is more about micro-context rather than blanket judgments.
For example, instead of:
->ā€œThis area is dangerousā€
It would be:
-> ā€œSafe in the morning, avoid after 9PMā€
-> ā€œReports of phone snatching near this specific street recentlyā€
So it’s less about pigeonholing places and more about situational guidance + timing + exact spots.
I’m also considering:
• Decaying old data so places aren’t permanently flagged
• Showing confidence levels instead of absolute statements
• Separating ā€œperceptionā€ vs ā€œrecent dataā€
But yeah, this is a delicate balance — if handled poorly it could do more harm than good.
Really appreciate you calling that out