DEV Community

Cover image for LoreDrop: Crowdsourced Local Survival Kits, Powered by Gemini & Google Search
Amaan Syed
Amaan Syed

Posted on

LoreDrop: Crowdsourced Local Survival Kits, Powered by Gemini & Google Search

DEV Weekend Challenge: Community

This is a submission for the DEV Weekend Challenge: Community

The Community

Travelers and locals everywhere.

Whether you're a backpacker in Bangkok, a student moving to a new city, or a local who's tired of watching tourists fall for the same scams β€” you're part of this community. Every neighborhood has unwritten rules, hidden gems, and survival tips that only locals know. The problem? That knowledge lives in scattered Reddit threads, word of mouth, and hard lessons learned.

LoreDrop is for anyone who's ever thought: "I wish someone had told me this before I got here."

What We Built

LoreDrop is a real-time, location-aware web app where communities drop local knowledge onto a map for others to discover. It's a crowdsourced survival guide that combines community wisdom with AI-generated intelligence.

πŸ›‘οΈ AI Survival Kit (Gemini 3 Flash + Google Search Grounding)

Pan the map to any city in the world. LoreDrop's AI mascot Polo (a paper airplane ✈️) auto-generates a Local Survival Kit containing:

  • Cultural Rules β€” the unwritten social norms (with matching emojis)
  • Tourist Traps β€” scams and overpriced spots to avoid
  • Phrasebook β€” essential local phrases with pronunciation
  • Recent News β€” live safety alerts and noteworthy events, grounded with Google Search

The kit is powered by Gemini 3 Flash with googleSearch tool grounding, so it pulls real-time information β€” not just training data.

πŸ“ Community Lore Drops

Users pin tips to real locations. Each drop is tagged with a category (History, Alert, Fun Fact, Hidden Gem) and appears as a clickable tag on the map β€” styled after our sister app Lens & Lore's neo-brutalist markers. Click any tag to see the full tip in an InfoWindow popup.

πŸ‘₯ Community Tab with Radius Filter

A dedicated sidebar tab shows all community drops within a configurable radius: 500m, 1km, 2km, or 5km. Filter by category, see distance labels, and tap any card to fly the map straight to that pin.

πŸ’¬ Polo AI Chat

Chat with Polo about your surroundings. Polo ingests your map viewport boundaries, nearby community drops, and your GPS location as context β€” then responds using Gemini with Google Search grounding. Ask "What's the best street food near here?" and Polo actually knows where "here" is.

πŸ’Ύ Full Persistence

Everything persists via Zustand + localStorage + Firestore:

  • Chat history survives page refreshes
  • Generated survival kits are cached (no re-generation on revisit)
  • Auth state doesn't flash the landing page
  • Firebase Firestore Database stores pings and insights from all other users.

Demo

Live: loredrop.vercel.app

GitHub: github.com/amaansyed27/loredrop

Code

πŸ—ΊοΈ LoreDrop β€” Crowdsourced Local Survival Kit

Drop lore. Explore locales. Survive anywhere. A real-time, community-powered travel companion with AI-generated survival kits β€” powered by Gemini 3 Flash and Google Search grounding.

React 19 Gemini AI Tailwind CSS Firebase Google Maps TypeScript


🧭 What is LoreDrop?

LoreDrop is a location-aware web app where communities share local knowledge β€” hidden gems, scam warnings, historical facts, and cultural tips β€” all pinned to real places on a map. Think of it as a crowdsourced survival guide for any neighborhood on Earth.

Pan the map to any city, and LoreDrop's AI mascot Polo (a paper airplane) will:

  • πŸ›‘οΈ Auto-generate a Local Survival Kit (cultural rules, tourist traps, phrasebook + live news) grounded with Google Search
  • πŸ’¬ Chat with you about the area using real-time context + community drops
  • πŸ‘₯ Show you Community Tips from other travelers within a configurable radius

✨ Features

Feature Description
πŸ—ΊοΈ Interactive Map Google Maps with reverse geocoding
…

How we Built It

Tech Stack

Layer Technology
Frontend React 19 + TypeScript 5.9 + Vite 7
Styling Tailwind CSS 3.4 (Neo-Brutalism design system)
Maps @vis.gl/react-google-maps + Geocoding API
AI Gemini 3 Flash (@google/genai) + googleSearch tool
Auth & DB Firebase 12 (Authentication + Cloud Firestore)
State Zustand 5 with persist middleware β†’ localStorage
Deploy Vercel

How Gemini Powers LoreDrop

1. Survival Kit Generation (gemini.ts)
We call gemini-3-flash-preview with tools: [{ googleSearch: {} }] enabled. The prompt asks Gemini to search for recent news, safety alerts, and cultural context for the locale. The response is parsed as structured JSON containing cultural rules, tourist traps, a phrasebook, and real-time news β€” all grounded in live Google Search results.

2. Polo Chat (PoloAgent.tsx)
Multi-turn conversation with Gemini using the same googleSearch tool. We inject the user's GPS coordinates, map viewport bounds (North/East/South/West), and all nearby community drops as system context. This means Polo can answer hyper-local questions with real geographic awareness.

3. Reverse Geocoding
As users pan the map, we reverse-geocode the center coordinates via the Google Maps Geocoding API to extract a human-readable locale name (e.g., "Shibuya, Tokyo"). This locale string drives the survival kit generation and lore tagging.

Design Philosophy

Neo-Brutalism Lite β€” inspired by our sister project Lens & Lore. Sharp ink-black borders (#1A1A1A), hard drop shadows, off-white paper background, and a bold yellow/orange/mint palette. Zero gradients, zero glowing effects, zero "AI sparkle" clichΓ©s. Just clean, bold, functional design that feels like a hand-drawn travel journal.

Team

Thanks for checking out LoreDrop! πŸ—ΊοΈβœˆοΈ

Top comments (4)

Collapse
 
harsh2644 profile image
Harsh

Great concept! Love how you're combining crowdsourcing with AI for real-world impact.

Some comments may only be visible to logged-in visitors. Sign in to view all comments.