Skip to main content

End-to-End Travel Planning

VoyageAI

Travel planner that turns a natural-language trip request into a real itinerary tied to an actual map, not a wall of generic text. A persistent Travel DNA profile keeps preferences consistent across every change.

Next.jsMapboxLLaMA
VoyageAI preview

targetProblem Statement

Current travel planners dump generic LLM text. There is no map integration, no persistent trip 'DNA', and no context continuity resulting in fractured planning experiences.

boltReal-world Impact

One place to plan a full trip. Weather, pacing, and budget all factor into the itinerary, and the map updates live as the plan changes instead of sitting static beside a wall of text.

account_treeSystem Architecture

Next.js 16 App Router coordinates the entire flow. Core user state (Travel DNA) influences prompts globally stored via Prisma. Mapbox GL renders directly from the LLM's structured JSON geometry output, so the map updates in step with the itinerary.

[Uploaded Ticket]
       │
[AI Metadata Extractor]
       │
[Travel DNA / Preferences]
       │
[Groq (LLaMA) Itinerary Generation] ──► (JSON Schema)
       │
[Mapbox Interface] <-----> [Contextual Chat Refinement]
PDF ParsingTravel DNA StateMapbox CorrelatorToken Tracking

memoryAI / System Intelligence

The trip assistant keeps the whole itinerary in context, so it can answer questions or edit a single day's route without regenerating the days that didn't change.

psychologyKey Architectural Decisions

Rigid JSON Enforcement (Groq/LLaMA)

To drive the Mapbox UI dynamically, the LLM is strictly constrained via JSON mode prompts to yield parseable GeoJSON and structured temporal arrays, completely banishing conversational filler from the API layer.

Decoupled Authentication

Implemented stateless JWT tokens combined with httpOnly refresh token rotation and severe CSRF protections, securing AI token consumption per user.