Hey r/selfhosted Lemmy crowd,

I built TravStats because I wanted to log my flights without handing my travel history to MyFlightradar24, App in the Air, or whatever SaaS-of-the-month. Started as a weekend project, has grown into something I actually use daily.

What it does

  • Booking email parser — drop your Lufthansa / BA / Berge & Meer / whatever confirmation mail in and it auto-fills the flight via local LLM (Ollama, gemma3:12b works great). No manually typing 200 flights.
  • 3D globe of all your routes (deck.gl + MapLibre), plus heatmap, hexagon, arc and time-slider modes — watch your flights build up over the years
  • Boarding pass scanner as a fallback (OCR) for the cases where you only have the PDF
  • Stats, achievements, certificates for the gamification fans
  • Cruise tracking with sea-route rendering (because flights aren’t the only travel) (Comming Soon)
  • DE / EN UI

Stack

  • Single Docker image, Postgres sidecar
  • Node + TypeScript backend, React + Vite frontend
  • AGPL-3.0
  • Optional: Ollama on a separate box for the parser (CPU-only is fine, gemma3:12b on a Mac mini works)

Install

  • Unraid: in Community Apps, search “TravStats” → one-click
  • Anywhere else: docker compose up -d with the example compose file in the repo
  • No external account, no telemetry, JWT in HttpOnly cookies, secrets auto-generated on first boot

Links

Still actively developing — currently on v1.2.1. Happy about feedback, issues, feature requests. If you give it a spin and the parser eats your booking confirmation cleanly, I’d love to hear it; if it doesn’t, even more so.

  • Abrechen2@lemmy.worldOP
    link
    fedilink
    English
    arrow-up
    2
    ·
    5 hours ago

    To answer the second question: Currently it’s only for flights but there will be more like cruises and hotel tracking.

    So if you not fly often it’s still worth in my opinion if you like statistics and stuff, if not than you don’t need something like this.

    I am a frequent flyer and traveler for work and private. and I didn’t found a good way to display all my trips at once, so I started this.