Inspiration

A family trip usually begins with dozens of good ideas and ends with a stressed search for one of them while in crises mode. For our South Africa 2026 trip with children aged two and four, we had more than 50 Instagram screenshots, chat messages, notes and links. We wanted to plan the whole holiday in advance while staying flexible about the actual day and we wanted to leverage ChatGPT.

What it does

Family Trip Atlas is a private, shared family travel planner. It turns scattered discoveries into a source-backed atlas the family can use together.

For the active Cape Town and Winelands pilot, the family can:

  • Filter curated places by weekday, time of day, weather and interest
  • See opening hours, duration, drive time, booking guidance, family notes and sources
  • Pin must-dos, mark a place visited or irrelevant, and save a 1 to 5 star memory
  • Keep personal screenshot entries with duplicate protection and deletion
  • Add past and future trips as durable family history records

The use case is deliberately flexible: when the penguin-beach plan falls apart at 9am because it is cold and raining, the family selects Tuesday, morning and poor weather, then chooses together from suitable alternatives.

ChatGPT screenshot flow

The new AI pilot moves screenshot understanding into the user's ChatGPT conversation. A signed-in user creates a personal MCP URL, connects it in ChatGPT, uploads a screenshot and asks ChatGPT to prepare a travel-place draft. Family Trip Atlas never saves the result automatically: it presents a short-lived, account-bound review link for each place. The family adds, updates or discards every draft. Duplicate places remain reviewable, but cannot be created twice.

This keeps the model work inside the user's ChatGPT session. The Family Trip Atlas runs no separate OpenAI API key or server-side screenshot model.

How we built it

Built end-to-end in Codex with GPT-5.6 Model Family. I used transcripts from desktop and mobile, the /goal workflow to keep the long build aligned, and Codex to grill product decisions before implementing them.

Codex helped:

  • Structure screenshots, notes, chats and links into travel data
  • Research sources and family suitability
  • Merge 31 legacy records: 10 matched existing places and 21 became new cards, producing 46 unique places
  • Design the private family workspace, persistent SQLite model and review flow
  • Build the Next.js/React interface, invite-code login, account-bound MCP links, storage, tests and Docker deployment
  • Run integration checks and deploy the pilot

The application uses Next.js 16, React 19, TypeScript, SQLite with Drizzle ORM, durable screenshot storage, Docker Compose, Caddy, and an MCP route built with the Model Context Protocol.

Challenges

The difficult problem was not extracting travel ideas. It was keeping them trustworthy: source visibility, duplicate checks, review-before-save, and account-bound drafts all matter when a screenshot may be incomplete or out of date. We also kept the pilot intentionally narrow: South Africa is the active planner with MCP and next trips as Beta.

Accomplishments

  • A real private family workspace with shared, persistent decisions
  • 46 curated, deduplicated places for a real upcoming trip
  • Flexible rainy-day planning instead of a rigid itinerary
  • MCP-backed ChatGPT screenshot drafts with human review before saving
  • Safe account-bound review links and revocable personal MCP connections
  • A single workflow from new idea to family memory

What we learned

Useful AI travel planning depends on controlled handoffs, not automatic saving. Letting ChatGPT interpret the screenshot while Family Trip Atlas handles provenance, duplicate protection and the human decision made the workflow both more useful and more trustworthy.

What's next

Add a dedicated planner to each recorded trip, then evolve the private family pilot into personal atlases with optional shared family trips. The current MCP handoff is the foundation.

Built With

Share this project:

Updates