## Inspiration

Today's traveler is caught between two broken worlds. Big Tech (Google, TripAdvisor) delivers information overload without genuine human experience — content built for conversion, not connection. Social Media (Instagram, TikTok) offers endless inspiration with no easy way to store, organize, or act on it. And most of the time, the path from discovery to booking just breaks halfway through.

At one point, we had a Google Sheet with 14 tabs, a WhatsApp thread called “Japan stuff,” and screenshots of Instagram posts we couldn’t even remember saving.

We've both experienced this firsthand. After every trip, we'd have messy spreadsheets, scattered WhatsApp messages, and hundreds of unorganized photos — but no way to turn that into something shareable or reusable. And when planning the next trip, we'd scroll through beautiful content on social media with no way to actually do anything with it.

The "trip planner graveyard" is littered with startups that failed to crack four fundamental challenges: content creation costs, user loyalty (travel is infrequent), product complexity, and monetization. We believed AI — specifically Google Gemini — could break the content creation barrier wide open, and that a social-first approach could solve the rest.

What it does

MAPs is a social travel platform built on map-based journey diaries. It turns fragmented social posts and messy spreadsheets into beautiful, interactive, and shareable itineraries — in under a minute.

Core flow:

  • Paste any itinerary (text, spreadsheet, or just upload photos) → Gemini instantly parses it into a structured, visual journey on an interactive map
  • Share it with anyone — zero login required to view
  • Clone & customize — others can fork your journey, adjust it for their budget/dates, and book directly
  • Play games — a "Do You Remember?" memory game and photo trivia keep the community engaged daily, not just when planning trips

How we built it

The entire platform runs on Next.js 15 with the App Router, deployed on Vercel, with Supabase for the database and file storage, and Mapbox GL JS for map visualization.

The AI backbone is Google Gemini 3 — and it's not a thin wrapper. We use Gemini across six distinct AI features:

  1. Text Parsing — Paste any itinerary (email confirmations, travel blogs, notes) and Gemini extracts transport segments, locations, dates, booking details, and operators into structured JSON
  2. CSV/Spreadsheet Parsing — Upload messy Google Sheets with hierarchical trip data, and Gemini understands row/column structures, infers geographic context from headers, and builds parent-child event relationships
  3. Photo Analysis (Vision) — Upload travel photos and Gemini recognizes landmarks, infers cities/countries, classifies activity types, and matches photos to existing journey events
  4. Dual-Input Merging — Combine itinerary text + photos simultaneously. Gemini processes both in parallel and intelligently merges them into a single coherent journey
  5. AI Caption Generation — Every photo gets a contextual, engaging caption generated by Gemini, aware of the journey context
  6. Price Research with Google Search — Gemini uses web grounding to search for real-time flight, hotel, and activity prices, returning source URLs and converted currency

Honestly, we expected maybe two of these to work well in a weekend — getting all six usable was the biggest surprise.

We use gemini-3-flash-preview for speed-critical tasks (photo analysis, captions) and gemini-3-pro-preview for complex reasoning (CSV parsing with hierarchical understanding, multi-photo itinerary extraction). Fallbacks to gemini-2.5-flash and gemini-2.5-pro ensure reliability.

For resilience, every Gemini call has a robust JSON extraction pipeline that handles markdown wrapping, truncated responses, unquoted keys, and malformed brackets. If AI parsing fails entirely, a regex-based fallback parser still extracts basic transport segments.

Challenges we faced

Building AI-powered features without unlimited credits. Iterating on prompt engineering for six distinct Gemini features — parsing, vision, captions, price research, chat, and dual-input merging — burns through API credits fast. We overcame this by building a local test harness with cached Gemini responses, so we could iterate on JSON extraction logic and prompt tuning without making live API calls. We also implemented a tiered model strategy: gemini-3-flash-preview for speed-critical tasks and gemini-3-pro-preview only where complex reasoning was truly needed, cutting our token usage significantly while maintaining output quality.

Making multimodal input feel seamless. Accepting text, spreadsheets, photos, and combinations of all three means handling wildly different formats — EXIF data varies across devices, spreadsheets have no standard structure, and travel itineraries come in every format imaginable. We solved this with an input detection layer that automatically classifies what the user provides, then routes it to the right Gemini pipeline. For spreadsheets specifically, we designed a 6-step extraction process where Gemini first understands the structure (row vs. column headers), then infers geographic context from headers before parsing individual cells. The result: users just paste or drop anything, and a structured journey appears.

Photo-to-event intelligence. When a user uploads 50 photos alongside an itinerary, each photo needs to land on the correct journey event. We built a multi-signal scoring system that combines Gemini's vision analysis (landmark recognition, city inference) with EXIF GPS coordinates and temporal proximity to existing events. Each signal produces a confidence score, and the highest-confidence match wins. The result feels like magic — drop your photos and they appear in exactly the right place on the timeline.

What we learned

We learned pretty quickly that AI doesn’t replace product thinking — it just makes good (and bad) decisions show up faster. The hardest part wasn't calling the Gemini API; it was designing the right prompts, building the fallback chains, and handling the 20% of cases where AI output needs correction. The magic is in making AI feel invisible — users just paste text or drop photos, and a beautiful journey appears.

What's next

  • Integrated booking — affiliate-linked flight, hotel, and activity booking directly from the journey view
  • Social feed — discover and follow travellers, like and save journeys
  • Always-On Adventure — location-based treasure hunts and weekly travel trivia games
  • Live — real-time trip checkin and in-trip support like planned activities x maps

Built With

Share this project:

Updates