TripFlow

An AI-assisted travel planner that brings the whole trip together in one place, with real-time collaboration, interactive maps and full offline access.

Two smartphones showing the TripFlow app: a dashboard with trip stats and a trip detail screen for a Japan itinerary.

The problem

Planning a trip means juggling half a dozen tools that don't talk to each other. The result is information that's scattered, copied by hand and out of date almost immediately.

  • Information is scattered across search engines, maps, blogs and chats.
  • Nothing is connected: every detail is copied by hand and goes stale instantly.
  • In a group it multiplies: different preferences and changes that get lost.

The whole trip in one place

Most tools solve only a slice of the problem. TripFlow set out to cover the whole of it (time-based planning, AI, real-time collaboration and offline) in a single product.

MapsTripAdvisorRoamyWanderlogTripFlow
Time-based planning——✓✓✓
Real-time collaboration———Paid✓
AI generation——✓✓✓
Offline supportPartial——Paid✓
Cross-platform✓✓—✓✓
PricingFreeFreeFreeFreemiumFreemium

Features

Everything you need to plan a trip, from the first idea to a shareable, offline-ready itinerary.

  • Day-by-day itineraries

    Plan trips by days and activities, with optimized routes between places.

  • AI assistant

    Generate a complete itinerary from a single prompt with an AI assistant.

  • Real-time collaboration

    Plan together with live, role-based collaboration.

  • Interactive map + PDF

    Visualize everything on an interactive map and export a clean PDF.

  • Public share links

    Share any itinerary through a secure public link.

  • Cross-platform PWA · Offline

    An installable PWA that works on any device, even with no connection.

Distributed architecture

TripFlow is a distributed system: a React PWA talks to a set of Spring Boot microservices through a gateway, and those services coordinate asynchronously over an Apache Kafka event bus.

SPA / PWA clientReact · Vite
GatewayCloudflare · Traefik · HTTPS
MicroservicesSpring Boot · Java 21
Main APIAINotifications
Event bus · Apache Kafka
PersistencePostgreSQL · H2

Key technical decisions

A handful of decisions shaped the project the most, around security, AI, real-time and offline.

  • JWT authentication

    Dual JWT (15-min access, 30-day refresh) in HttpOnly cookies to mitigate XSS.

  • Async, secure AI

    Prompt-injection filtering on the way in, and sanitization of the generated JSON on the way out.

  • Real time

    WebSocket + STOMP with JWT validation in the handshake itself to authorize events.

  • Offline PWA

    A service worker installs the app and lets you consult itineraries with no connection, mid-trip.

Quality & delivery

Built with a strong testing and automation culture from day one: every change ships through the same pipeline.

  • 950+automated tests313 backend · 640 frontend · 8 E2E suites (Playwright)
  • 67%code coveragemeasured on every build
  • 803+commits in CI/CDbuild + tests before every merge
  • 100%automated deployVPS · Dokploy · Traefik · HTTPS

The journey

TripFlow was designed and built end to end. It grew iteratively across three versions, and each one shipped as a working, deployed release rather than a prototype, from the first commit to v1.0.0.

  1. MVP

    v0.1

    Authentication and base itineraries.

  2. Intelligence

    v0.2

    AI, notifications and administration.

  3. Product

    v1.0

    Maps, collaboration, share links, PWA and PDF.

Each release, documented from first commit to v1.0.0: