Skip to content

Repository files navigation

Venn Logo

Finding common ground
Interactive Travel-Time Isochrone Residential Zone Finder

License React TypeScript Vite Tailwind CSS


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.


✨ Key Features

  • 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 localStorage and are never transmitted to third parties.

🚀 Quickstart

Prerequisites

  • Node.js (version 18 or newer)
  • Package manager npm (or bun)

Local installation

# 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 dev

The application is now available at http://localhost:3000.

Production build

npm run build
npm run preview

🔑 Map & Routing Providers (BYOK)

Venn 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=""

🛡️ Security & GitHub Setup

  • 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.

🙏 Acknowledgements & Third-Party Data

This project integrates and processes open geodata, routing services, and open-source software from various providers.

🌐 General Services & Core Technologies

  • 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).

📍 Location-Specific Data & City Packages

City- and region-specific features in Venn rely on three specialized data layers per metropolitan area:

  1. Public Transit Networks: Topological graph models, scheduled timetables, and stop coordinates (GTFS / Open Data feeds).
  2. Rent Indices & Housing Zones: Official municipal rent indices (Mietspiegel) and statistical district geometries.
  3. Motorway Infrastructure: Detailed OpenStreetMap vector extracts of motorway interchanges, junctions, and on-/off-ramps for commute optimization.

Fully Integrated (Built-in)

  • 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).

Modular Catalog & Roadmap (In Preparation)

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):

  • 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):

  • 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).

📄 License

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

About

Interactive multi-person commute-zone finder for shared living search using travel-time isochrones (transit, car, cycling, walking) & geometric polygon intersections.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages