Die bessere Bahn-App. Privacy-first, für Vielfahrer.
Ein Premium-Begleiter für die Deutsche Bahn: Verbindungssuche, Live-Abfahrten, Zugläufe auf der Karte, Verspätungs- und Anschluss-Vorhersage, Träwelling-Check-ins und das Finden günstigerer Split-Tickets — alles ohne Tracking, ohne Werbung, ohne Konto-Zwang.
- Verbindungssuche zwischen zwei Stationen mit Stationsautovervollständigung
- Mehrteilige Verbindungsdetails: alle Umstiege, Gleise, Halte und Echtzeit-Verspätungen
- Anschluss- und Pünktlichkeits-Badges je Umstieg, berechnet von einem selbst gehosteten Vorhersage-Modell
Ein kombinierter Tab mit interner Umschaltung zwischen:
- Zug – Zuglauf einer einzelnen Fahrt mit allen Halten, Gleisen und Verspätungen
- Abfahrten – Live-Abfahrtstafel eines Bahnhofs, inklusive Kartenansicht
- Karte – interaktive Bahnhofskarte (Bahnsteige, Aufzüge, POIs)
- Streckenverlauf als exakte Gleis-Polylinie, die die DB selbst zeichnet
- Neutraler deutscher Basemap-Hintergrund (BKG TopPlus-Open, grau)
- Offline-Kachel-Cache auf dem Gerät
- Wagenreihung & freie Sitzplätze – Sitzplatzkarte und Wagenreihenfolge je Zug
- Flügelzug-Erkennung – zeigt an, in welchen Zugteil man einsteigen muss
- „Mein Standort" und Stationen in der Nähe per GPS
- Findet günstigere Ticket-Kombinationen für eine gefundene Verbindung
- Berücksichtigt BahnCard (25/50, 1./2. Klasse) und Deutschland-Ticket
- Direkte Buchungslinks für jedes Teil-Ticket (oberstes Angebot = das richtige)
- OS-Benachrichtigung, sobald die Analyse fertig ist
- Login per OAuth2 (PKCE, kein Passwort in der App)
- Per-Bein-Check-in direkt aus der Verbindungsansicht
- Auto-Check-in: ein Tipp auf das Träwelling-Symbol im Zug checkt ein
- Feed & Freunde, einstellbare Standard-Sichtbarkeit
- Lokale Bibliothek: Favoriten, zuletzt gesucht, gespeicherte Routen und Züge
- Häufige Suchen werden automatisch als Favorit markiert
- Offizielles „Reise teilen": erzeugt einen echten DB-Buchungslink für genau diese Verbindung (nicht nur eine Suche)
- Kein Tracking, kein Firebase, kein Google Analytics, keine Werbung
- Suchanfragen, Favoriten und Tokens bleiben auf dem Gerät
- Das Vorhersage-Backend läuft auf Servern in Deutschland (Hetzner, DSGVO-konform)
- Siehe PRIVACY-POLICY.md
Gehe zur Releases-Seite und lade die neueste Version herunter.
Ich besitze weder einen Mac noch ein iOS-Gerät, um die App für iOS zu kompilieren. Wenn du die App erfolgreich für iOS bauen kannst, melde dich gerne — ich stelle die iOS-Version dann offiziell hier bereit.
Die App nutzt keine offizielle Endkunden-API der Deutschen Bahn. Stattdessen
spricht sie bevorzugt das Backend der DB-Navigator-App an
(app.services-bahn.de/mob), das die echten Fahrplan-, Preis-, Wagenreihungs-
und Streckendaten liefert. Als Rückfallebene dienen die bahn.de-Web-API und ein
öffentlicher HAFAS-Spiegel.
Die Anschluss- und Pünktlichkeits-Vorhersage kommt von einem separaten,
selbst gehosteten Dienst (bahn.chuk.dev), der ein Verspätungsmodell bereitstellt.
Die Split-Ticket-Logik zerlegt eine Verbindung in alle möglichen Teilstrecken und findet per dynamischer Programmierung die günstigste Kombination, die die gesamte Strecke abdeckt — inklusive BahnCard- und Deutschland-Ticket-Rabatten.
| Verzeichnis | Inhalt |
|---|---|
flutter-app/ |
Die App (Flutter, Riverpod, GoRouter) |
prediction-service/ |
Selbst gehostete Verspätungs-/Anschluss-Vorhersage-API |
api-tests/ |
Health-Checks für alle genutzten Upstream-Endpunkte |
docs/ |
Projekt-Webseite |
main.py |
Split-Ticket-Logik auch als eigenständiges Python-CLI |
git clone https://github.com/chukfinley/Besser-Bahn
cd Besser-Bahn/flutter-app
flutter pub get
flutter runVoraussetzung: Flutter (SDK ^3.10) auf dem System installiert.
Vor Arbeiten an Netzwerk-/Datencode prüft api-tests/healthcheck.py, ob alle
Upstream-Endpunkte noch die erwartete Antwortform liefern:
cd api-tests && python3 healthcheck.pyDie Split-Ticket-Analyse läuft auch ohne App:
uv run main.py "https://www.bahn.de/buchung/start?vbid=..." [--age 30] [--bahncard BC25_2] [--deutschland-ticket]- Traewelldroid – Check-in-App für ÖPNV/Fernverkehr in Europa, basiert auf Open-Data-Schnittstellen. GitHub
- Transportr – quelloffene ÖPNV-App für viele Regionen weltweit. GitHub
- OpenRailwayMap – detaillierte interaktive Karte des weltweiten Eisenbahnnetzes auf OSM-Basis. Website
- bahn.expert – tiefe Analyse von Zugverbindungen, Verspätungen und Pünktlichkeitsstatistiken. Website
Organisationen wie Digitalcourage setzen sich für Transparenz und Nutzerrechte ein:
- Klage gegen die Deutsche Bahn wegen Datenerfassung im DB Navigator – Digitalcourage hat die DB verklagt, weil der „DB Navigator" persönliche Daten ohne ausreichende Einwilligung weitergibt. Details bei Digitalcourage
Wenn diese App dir hilft, bei deinen Bahnreisen Geld zu sparen, freue ich mich über eine Spende — sie sichert Weiterentwicklung und Wartung. Die Spendenmöglichkeiten findest du über den „Sponsor"-Button oben auf dieser GitHub-Seite.
Beiträge sind willkommen! Öffne ein Issue oder einen Pull Request, wenn du Verbesserungen vorschlagen möchtest.
Lizenziert unter der DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE — siehe LICENSE.txt.
Diese App ist ein inoffizielles Projekt und steht in keiner Verbindung zur Deutschen Bahn AG. Die Nutzung erfolgt auf eigene Gefahr. Die gefundenen Split-Tickets entsprechen den Beförderungsbedingungen der Deutschen Bahn.
Großer Dank an Lukas Weihrauch und sein Video, das die Inspiration für dieses Projekt lieferte: https://youtu.be/SxKtI8f5QTU