Finding common ground
Interactive Travel-Time Isochrone Residential Zone Finder
Venn is an interactive web application for finding a shared place to live — built for couples, flatmates, and families. Using travel-time isochrones for different modes of transport (public transit, car, bicycle, and walking), the app calculates precise geometric intersections to identify ideal residential areas.
- Multi-person isochrones: Calculate simultaneous reachability polygons for any number of people, each with their own workplace or destination, maximum travel time, and mode of transport.
- Geometric intersection engine: Automatic union and intersection of all individual isochrones using Turf.js.
- Topological public-transit network model: Full model of Munich's U-Bahn and S-Bahn network (DELFI / MVV) including walking times to stations, service frequencies, and transfer constraints.
- Motorway infrastructure & junctions: Integrated OpenStreetMap geodata for motorway interchanges, on-ramps, and exits to optimise car-commute routing.
- Priority heatmap: Weighted accessibility analysis for U-Bahn, S-Bahn, and motorway access points displayed directly on the map.
- Rent overlay: Official rent index (Mietspiegel) of the City of Munich (Open Data) with residential-zone and reference-value visualisation.
- Reversible state sharing: Share your entire configuration (people, addresses, departure times, layer order, filters, and basemaps) seamlessly via URL (
#zone=...) or as a JSON export / import. - Privacy by design: 100% client-side in the browser. Your private search addresses remain exclusively in your browser's
localStorageand are never transmitted to third parties.
- Node.js (version 18 or newer)
- Package manager
npm(orbun)
# 1. Clone the repository
git clone https://github.com/th-ring/Venn.git
cd Venn
# 2. Install dependencies
npm install
# 3. Start the development server
npm run devThe application is now available at http://localhost:3000.
npm run build
npm run previewVenn is fully usable without registration or API keys:
- Default: Free OpenStreetMap map tiles and the built-in offline public-transit model.
- Optional providers can be configured in the app's settings menu ("Bring Your Own Key") or via environment variables (
.env):- OpenRouteService (HeiGIT): For car, cycling, and pedestrian isochrones via the Heidelberg Geoinformatics API (Free key).
- Google Maps Platform: For official Google Maps layers (Roadmap, Satellite, Terrain) and the Google Maps Isochrones API (Google Cloud Console).
Example .env (optional, see .env.example):
VITE_GOOGLE_MAPS_API_KEY=""
VITE_ORS_API_KEY=""- Secret Scanning & Push Protection: We recommend enabling Secret scanning and Push protection in the repository settings under Settings → Code security and analysis.
- Dependabot: A configuration file (
.github/dependabot.yml) is pre-configured and checks for dependency and security updates weekly.
This project integrates and processes open geodata, routing services, and open-source software from various providers.
- Leaflet & Turf.js: Core open-source libraries for interactive web mapping, spatial analysis, and geometric intersection calculations.
- OpenStreetMap: Global street and infrastructure geodata, highway networks, and Nominatim geocoding.
© OpenStreetMap contributors, licensed under the Open Database License (ODbL) 1.0. - HeiGIT / OpenRouteService: Isochrone and multi-modal routing calculations by the Heidelberg Institute for Geoinformation Technology.
- Google Maps Platform: Optional provider for official Google Maps basemap layers (Roadmap, Satellite, Terrain) and Google Maps Isochrone APIs.
- CARTO, OpenTopoMap, OpenRailwayMap: Specialized tile layer and basemap services.
- DELFI e.V.: Nationwide public transport data initiative providing cross-regional schedule and stop feeds (DELFI Bundesfeed).
City- and region-specific features in Venn rely on three specialized data layers per metropolitan area:
- Public Transit Networks: Topological graph models, scheduled timetables, and stop coordinates (GTFS / Open Data feeds).
- Rent Indices & Housing Zones: Official municipal rent indices (Mietspiegel) and statistical district geometries.
- Motorway Infrastructure: Detailed OpenStreetMap vector extracts of motorway interchanges, junctions, and on-/off-ramps for commute optimization.
- München (Munich & MVV) — Production-ready & fully bundled:
- Public Transit: Münchner Verkehrs- und Tarifverbund (MVV) & Münchner Verkehrsgesellschaft (MVG) via DELFI Bundesfeed and Open Data (complete S-Bahn, U-Bahn, Tram, Bus network model).
- Rent Index & Housing Zones: Landeshauptstadt München – Open Data Geoportal (GeodatenService & Sozialreferat), licensed under Datenlizenz Deutschland – Namensnennung – Version 2.0 (dl-de/by-2-0).
- Motorway Infrastructure: OpenStreetMap geodata for the Munich orbital motorway (A99), radial autobahns (A9, A8, A96, A95, A94), and Mittlerer Ring (B2R).
Venn includes a centralized package manager and catalog architecture (src/data/cityPackagesCatalog.ts) designed for dynamic on-demand loading of further metropolitan regions. Core hub prototype packages are available for testing the regional switcher, with full transit graphs, municipal rent layers, and motorway vectors currently in preparation:
-
Berlin (Berlin & Brandenburg / VBB) (Catalog package available; rent overlay & motorway package in preparation):
- Public Transit: Verkehrsverbund Berlin-Brandenburg (VBB) via DELFI Bundesfeed and VBB Open Data (dl-de/by-2-0).
- Rent Index & Planning Areas: Geoportal Berlin (FIS-Broker) & Berliner Mietspiegel (LOR-Planungsräume).
- Motorway Infrastructure: OpenStreetMap geodata for Berlin urban motorways (A100, A111, A113, A115, A10 Berliner Ring).
-
Hamburg (Hamburg & Metropolregion / HVV) (Catalog package available; rent overlay & motorway package in preparation):
- Public Transit: Hamburger Verkehrsverbund (HVV) via DELFI Bundesfeed and HVV Open Data (dl-de/by-2-0).
- Rent Index & Districts: Transparenzportal Hamburg & Hamburger Mietenspiegel (dl-de/by-2-0).
- Motorway Infrastructure: OpenStreetMap geodata for Hamburg arterial motorways (A7, A1, A23, A24, A25).
-
Nürnberg (Nürnberg & Franken / VGN) (In preparation):
- Public Transit: Verkehrsverbund Großraum Nürnberg (VGN) via DELFI Bundesfeed and VGN Open Data (dl-de/by-2-0).
- Rent Index: Open Data Nürnberg & Nürnberger Mietspiegel (dl-de/by-2-0).
- Motorway Infrastructure: OpenStreetMap geodata for the Franconian motorway network (A3, A6, A9, A73).
-
Frankfurt am Main (Frankfurt / Rhein-Main / RMV) (In preparation):
- Public Transit: Rhein-Main-Verkehrsverbund (RMV) via DELFI Bundesfeed and RMV Open Data (dl-de/by-2-0).
- Rent Index: Geoportal Frankfurt & Frankfurter Mietspiegel (dl-de/by-2-0).
- Motorway Infrastructure: OpenStreetMap geodata for Frankfurt motorway network and Frankfurter Kreuz (A3, A5, A66).
This project is licensed under the Apache License, Version 2.0. See the LICENSE and NOTICE files for details.
Venn
Copyright 2026 Tobias Häring (th-ring)
Licensed under the Apache License, Version 2.0.
Repository: https://github.com/th-ring/Venn