— mission debrief · expedition K-2 —

Trip Planner

AI-powered travel planner that drafts itineraries with Google Gemini and lets crews co-edit multi-destination routes together, in real time.

.NET 10backend
SignalRrealtime
SvelteKitfrontend
GeminiAI engine

Planning a trip with other people is two problems at once: where do we even start? and how do we agree on the route without a dozen messages crossing each other? Trip Planner — TravelApp — answers both. It drafts a first itinerary with AI, then hands the route over to the whole crew to edit together in real time.

The system splits cleanly into layers — API controllers, application services, domain models, and infrastructure persistence — so the interesting parts (AI generation and live collaboration) stay decoupled from the plumbing. The multi-destination route is the canonical model: every client edits the same shared document, and the server keeps it the single source of truth.

  1. AI

    Itinerary generation

    Google Gemini drafts a starting itinerary from the trip's parameters — a first route the crew can refine rather than a blank page.

  2. realtime

    Collaborative editing

    SignalR over WebSockets broadcasts route changes to every connected client, so co-editing the macro route stays in sync without refreshes.

  3. places

    Destination enrichment

    Google Places resolves destinations and pulls photos; Google Maps renders the route so the plan reads as a map, not a list.

  4. auth

    Google OAuth

    Sign-in through Google OAuth, with a dev-mode test auth path for local work — no full login dance needed while building.

A layered ASP.NET Core backend serves a SvelteKit client. In development the Vite dev server proxies API requests through a single origin, which sidesteps CORS, and the whole stack spins up under Docker Compose with optional ngrok tunnelling to expose it publicly.

  1. backend

    ASP.NET Core 10

    Web API with EF Core over SQL Server for persistence, application services for trip logic, and a SignalR hub for the realtime channel. Scalar UI gives an interactive API explorer in dev.

  2. frontend

    SvelteKit · Svelte 5

    TypeScript + TailwindCSS v4, built on Vite. The client consumes the API and subscribes to the SignalR hub for live route updates.

  3. infra

    Docker Compose

    One command brings up API, database, and frontend together; optional ngrok tunnelling exposes the dev stack for sharing or mobile testing.

.NET 10ASP.NET Core Web API — layered into controllers, services, domain, and persistence
SignalRWebSocket hub keeping every editor's view of the route in sync
3 Google APIsGemini for itineraries, Places for enrichment, Maps for rendering

The idea. Most trip planners are either a smart-but-solitary AI generator or a shared doc with no intelligence. Trip Planner puts the two together: AI gets you a credible draft in seconds, and realtime collaboration turns refining it into something a group actually does together instead of arguing over.

Treating the multi-destination route as the canonical, server-owned model is what makes the collaboration honest — there's one route, everyone edits it, and SignalR keeps the screens agreeing.