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.

  • irmadlad@lemmy.world
    link
    fedilink
    English
    arrow-up
    2
    ·
    8 hours ago

    I’ve looked into a few of these type apps. They all are for individuals tracking their own flights, which is just jippity. Nice piece of work. However I’ve been looking for a FlightAware fork. if you will, I can self host.

    Something like this: https://www.flightaware.com/live/map But self hosted. I believe FlightAware has an API.

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

      Sry, like I explained in terabyterx comment, It’s not the traditional tracking, it’s to Collect flights and have statistics.

      But Not only flights, next will be cruise and special flights. It’s more statistics, with Archivments

  • terabyterex@lemmy.world
    link
    fedilink
    English
    arrow-up
    3
    ·
    10 hours ago

    what is the purpose of an app like this? to be fair i hate commercial flying (and i cant afford private) so i may fly maybe once a year.

    is this for frequent fliers to see a pretty map? which is fully valid, life is about fun - i was just curious if i was missing anything.

    • Abrechen2@lemmy.worldOP
      link
      fedilink
      English
      arrow-up
      2
      ·
      4 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.

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

      I think you Brought up a good point, I think tracking is a bit misleading…. It’s more for collecting were you have been with statistics, a little bit like Google time line. The lists you can do in all the flight apps I know want correct input to display it or save it, but for example my very first flight , I don’t really have data from this one. As long do you have departure and arrival Airport you can add it to the List of your flights.

      And the good part is, it’s all on your own server. So privacy is better for your personal data.

      Thanks for bringing it up, I will rethink the tracking part in the texts

  • tracyspcy@lemmy.ml
    link
    fedilink
    English
    arrow-up
    9
    arrow-down
    3
    ·
    14 hours ago

    Not trying to criticise, just sharing own opinion - it is better if ugly, but written by human, than polished by llms You write code, yes sometimes it is ugly, messy, but you learn this way

  • northendtrooper@lemmy.ca
    link
    fedilink
    English
    arrow-up
    6
    ·
    15 hours ago

    Love seeing projects like this! Having it in docker compose is nice when flights are coming up to show my kids. Then I can tear it down.

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

      The core started as a personal tool I wrote by hand years ago — basic CRUD, my own flight list, ugly but mine. The polish, the visualisations, the parser, the multi-domain stuff, all the things that make it actually shareable — that’s where AI assistance (Claude Code) kicked in. I drive the architecture and review every change; the AI does a lot of the typing. Without it I’d never have gotten this from “works on my machine” to “you can run it too”.

      One more thing: I have dyslexia, so all written text in the app, the docs and posts like this one gets cleaned up with AI help. That’s not a workaround I’m hiding — it’s the only reason the README is readable and the UI strings are consistent. Same principle as the code: I decide what it should say, the AI helps me say it clearly.

      • DecentM@lemmy.blahaj.zone
        link
        fedilink
        English
        arrow-up
        6
        arrow-down
        1
        ·
        15 hours ago

        Oh I’m not saying any use of ai is immediately bad, but as a dev I would want the author of the stuff I use to actually understand the whole codebase. I’ll try it out when I get some time to deploy it.

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

          Ahh, Okay i understand what you mean. I try of course to understand how everything in the app works. Most of comments tha start like your first end with lot of hate, beacause of the use of AI, thats why i am more carefull and a bit anti.

          • Rimu@piefed.social
            link
            fedilink
            English
            arrow-up
            2
            arrow-down
            2
            ·
            12 hours ago

            Yeah I mean you come here to promote your app and don’t even write your comments using your own fingers and we won’t hear from you again after this thread because you never intended to really be a part of the community - just get some app ideas from us.

            It’s just take take take.

            No wonder people react badly.

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

              Hey, I understand and see the Problems my Self in every Community with the AI Apps.

              But this one is not a simple Vibecoded AI Shit, and I really try to get a really nice good working App.

              And I stay on it, and want to do more. I am working currently on getting it to do Multi Domain Tracking, so not only flights.

              But it’s your opinion, so feel free to ignor me… 😀

            • irmadlad@lemmy.world
              link
              fedilink
              English
              arrow-up
              2
              ·
              8 hours ago

              It’s just take take take.

              Didn’t down vote. I don’t have a dog in your hunt but…What’s he taking?

  • Decronym@lemmy.decronym.xyzB
    link
    fedilink
    English
    arrow-up
    2
    ·
    edit-2
    4 hours ago

    Acronyms, initialisms, abbreviations, contractions, and other phrases which expand to something larger, that I’ve seen in this thread:

    Fewer Letters More Letters
    MECO Main Engine Cut-Off
    ~ MainEngineCutOff podcast
    RP-1 Rocket Propellant 1 (enhanced kerosene)
    SECO Second-stage Engine Cut-Off
    SES Formerly Société Européenne des Satellites, comsat operator
    ~ Second-stage Engine Start

    [Thread #259 for this comm, first seen 28th Apr 2026, 19:40] [FAQ] [Full list] [Contact] [Source code]