Tippe auf die Karte (oder Rechtsklick → „Erreichbarkeit ab hier") und sieh, wie weit du in der Zeit kommst.
Setze einen Start (grüner Punkt), dann tippe mehrere Ziele auf die Karte. Die Liste sortiert nach Reisezeit.
Früher Prototyp — du schaust gerade einer Idee beim Wachsen zu.
Das ist uns am wichtigsten: Es wird nichts über dich gespeichert. Keine Cookies, kein Tracking, keine Anmeldung, keine Werbung. Was du suchst und wo du bist, bleibt anonym. Alle Daten liegen auf einem Server in Österreich und bleiben dort — DSGVO-konform. Das ist ein Versprechen, kein Kleingedrucktes.
Eine Karte für ganz Österreich — zum Selbermachen. Du kannst Adressen und Orte suchen, Routen planen und dir alles in 3D anschauen. Alles läuft auf offiziellen österreichischen Daten, auf einem eigenen Server — ganz ohne Google oder andere große Anbieter.
Plane eine Route mit mehreren Stopps — auf Wunsch in der kürzesten Reihenfolge — und tippe auf „Teilen". Du bekommst einen QR-Code. Wer ihn mit dem Handy scannt, dem öffnet sich die ganze Tour fertig zum Losfahren: alle Stopps, das Verkehrsmittel, die optimierte Reihenfolge — ohne App-Installation, ohne Konto.
So lassen sich ganze Touren einspielen — ideal für Kurier-, Paket- und Lieferdienste: die Route einmal planen, als QR-Code (oder Link) an die Fahrer geben — die scannen und haben die komplette Tour am Handy, fertig in der besten Reihenfolge. Genauso für die Abhol-Touren der Lebensmittelrettung.
Die einzelnen Funktionen gibt es bei den Großen auch — aber dort meist als einzeln zugekaufte, kostenpflichtige Cloud-Dienste. Unser Unterschied ist die Kombination:
Ehrlich bleibt: Die Großen sind weltweit, und bei Live-Verkehr und fotorealistischem 3D sind sie heute voraus — genau daran arbeiten wir und prüfen, wie wir das für Österreich am besten umsetzen. In Österreich selbst spielen wir bei den Kern-Funktionen und der amtlichen Datengrundlage auf Augenhöhe — bei Kosten, Offenheit und Datenhoheit sind wir darüber.
Eine eigene App ist geplant. Viele dieser Funktionen — Suche, Routen, Erreichbarkeit, Abhol-Touren — sollen künftig direkt und noch übersichtlicher in der App laufen, gemacht fürs Handy. Diese Web-Ansicht ist die Vorschau darauf.
Was zuletzt dazugekommen ist — einfach erklärt. Magst du es genauer, klapp die graue Zeile auf.
Datenbank getunt: Postgres lief auf dem 128-MB-Default auf einem 31-GB-Server → der Such-Index thrashte. Mit shared_buffers=8GB + autoprewarm + einem btree-Index auf die PLZ liegen alle Indizes im RAM: Worst-Case-Suche 4,6 s → <0,3 s, strukturierte PLZ-Abfrage 1,2 s → 0,06 s.
Schreibweisen-Schlüssel: ein zweiter, kompakter Suchschlüssel (Kleinschreibung, Akzente/ß normiert, Abkürzungslexikon Str.→Straße/St.→Sankt, Leerzeichen/Bindestriche entfernt) als zusätzlicher GiST-trgm-KNN-Zweig (UNION) — in Freitext, Autocomplete und strukturierter Suche.
Lokal-zuerst korrekt: ein dritter Kandidatenzweig holt die nächsten Adressen der exakt passenden Straße per geom-KNN (50-km-Umkreis) — sonst fällt der wirklich nächste Treffer aus dem Text-Top-80. Die Seite holt deinen Standort beim ersten Suchen automatisch (Fallback: Kartenmitte).
Drei neue Endpoints auf der vorhandenen Routing-Engine (Valhalla): /v1/isochrone (Erreichbarkeits-Polygone), /v1/matrix (Reisezeit-/Distanz-Matrix über sources_to_targets) und optimize auf /v1/route. Die Tour-Reihenfolge löst ein eigener TSP-Solver (exakt per Held-Karp bis 13 Stopps, sonst Nearest-Neighbour + 2-opt) auf Basis der Matrix — offen oder als Rundkurs.
QR-Touren: Die ganze Tour wird kompakt in die Adresse (URL) kodiert; beim Scannen lädt die App sie wieder. Der QR-Code wird von einem selbst geschriebenen Generator gezeichnet (Byte-Modus, Reed-Solomon-Fehlerkorrektur über GF(256)) — gegen die offiziellen Referenzwerte der QR-Spezifikation geprüft, kein Fremd-Code im Browser.
Kontextmenü: MapLibre feuert contextmenu beim Rechtsklick; auf Touch ist das unzuverlässig, daher eine eigene Long-Press-Erkennung (pointerdown + ~500-ms-Timer). Das Menü klemmt sich an die Bildschirmränder, damit nichts überläuft.
Suche: GiST-trgm-Indizes mit KNN-Sortierung (<->>) statt voller Ähnlichkeits-Sortierung — Autocomplete von ~500 ms auf 10–85 ms. Route-Geometrie wird per Douglas-Peucker ausgedünnt (kleinere Antworten).
Wie das Ganze gebaut ist — Baustein für Baustein, einfach gehalten. Jede graue Zeile lässt sich für die genaue Erklärung aufklappen.
Alles läuft in fünf abgeschotteten Docker-Containern auf einem Server in Wien: ein API-Server, ein Türsteher davor, eine Datenbank, ein Karten-Server und eine Routing-Maschine.
api — Fastify + TypeScript. Nimmt alle Anfragen an (/v1/…), prüft sie streng (Zod-Schemas), antwortet als JSON. Logs enthalten nie deine Suche oder Position (kein PII).
caddy — Reverse-Proxy & HTTPS-Türsteher. Verschlüsselung, schützt das Innere, reicht nur erlaubte Pfade durch.
postgres + PostGIS/pgRouting — die Datenbank mit Geo-Erweiterung. Hält Adressen, Orte, Straßennetz; rechnet räumliche Abfragen (Umkreis, nächster Punkt) direkt in der DB.
tileserver-gl — serviert das Kartenbild als Vektorkacheln (basemap.at) an die App.
valhalla — die Routing-Maschine. Berechnet Routen, Erreichbarkeit, Matrix und Manöver aus dem Straßennetz.
Adressen vom BEV, Straßennetz aus dem GIP, Kartenbild von basemap.at, Orts-/Bergnamen aus geonames — alles offizielle österreichische Quellen unter CC BY 4.0.
BEV Adressregister — Österreichs amtliches Adressregister (Bundesamt für Eich- und Vermessungswesen). Basis für Suche und Reverse-Geocoding.
GIP — das amtliche intermodale Verkehrsreferenzsystem (Bund + Länder). Wird zu einem Routing-Graph für Valhalla umgewandelt.
basemap.at — die amtliche Verwaltungsgrundkarte als Vektorkacheln, selbst gehostet.
Die Daten liegen lokal und werden im Hintergrund aktualisiert — keine Live-Abfrage bei Dritten pro Klick.
Tippst du, schlägt die App in Millisekunden passende Adressen, Orte und Berge vor. Tippst du auf die Karte, sagt sie dir die Adresse dort.
Trigramm-Indizes (pg_trgm) als GiST mit KNN-Ordering finden ähnliche Schreibweisen sehr schnell; die Reverse-Suche nutzt einen räumlichen KNN-Index (nächster Punkt zuerst). Ein DB-weiter Ähnlichkeits-Schwellwert spart pro Anfrage Arbeit.
Routen für vier Profile (Auto/Rad/Fuß/Lkw) mit Abbiege-Hinweisen; Erreichbarkeits-Flächen; Reisezeit-Matrix; und die kürzeste Stopp-Reihenfolge für eine Abhol-Tour.
Das GIP-Straßennetz wird zu OSM-PBF konvertiert und von Valhalla zu Routing-Kacheln gebaut. Routen kommen mit Etappen + deutschen Manövern; bei 2 Punkten gibt es einen pgRouting-Fallback, falls die Engine mal nicht antwortet.
Erreichbarkeit = Valhalla-Isochrone (GeoJSON-Konturen, hier als Flächen). Matrix = sources_to_targets (Dauer/Distanz je Paar). Tour = eigener TSP-Solver auf der Matrix: exakt (Held-Karp) bis 13 Stopps, darüber Nearest-Neighbour + 2-opt; offen oder Rundkurs.
Gebäude lassen sich als 3D-Blöcke aufstellen, dazu ein Gelände-Relief der Berge — flüssig im Browser.
MapLibre rendert die Vektorkacheln; Gebäude per fill-extrusion (Höhe aus den Bauwerks-Daten), Berge per Hillshade-Relief und echtem Terrain. Alles client-seitig — kein fotorealistisches Mesh wie bei Google, aber leicht und überall lauffähig.
Abhol-Touren werden als QR-Code geteilt. Den Generator dafür haben wir selbst geschrieben — kein fremder Dienst, kein Code von außen im Browser. Passt zum Prinzip: eigener Stack, volle Kontrolle.
Eigener Encoder im Byte-Modus (Versionen 1–9, Fehlerkorrektur-Level L, automatische Maskierung). Die ganze Tour steckt komprimiert in der Adresse (URL) — beim Scannen lädt die App sie wieder zusammen, nichts liegt auf fremden Servern.
Die heikle Mathematik ist gegen die offiziellen Referenzwerte der QR-Spezifikation geprüft: die Reed-Solomon-Fehlerkorrektur über GF(256) und die BCH-kodierten Format-/Versions-Bitfolgen stimmen mit der Norm überein, und die Platzierung im Raster liest sich konsistent zurück.
Keine Cookies, kein Tracking, keine Anmeldung. Anfragen werden nicht gespeichert, Logs enthalten nie deine Suche oder Position.
Der Server steht in Österreich (EU). Im Log wird die Query-Zeichenkette bewusst entfernt (nur der Pfad, nie Suchbegriff/lat/lon). Rate-Limits schützen vor Missbrauch; die teuren Endpoints (Routing/Erreichbarkeit/Matrix) haben strengere Grenzen. Daten verlassen die EU nicht.