explaingit

leonardoalt/kamerafrei

Analysis updated 2026-05-18

1JavaScriptAudience · generalComplexity · 3/5Setup · moderate

TLDR

A Berlin walk and bike route planner that lets you avoid streets covered by known surveillance cameras, using OpenStreetMap data.

Mindmap

mindmap
  root((kamerafrei))
    What it does
      Avoids known cameras
      Walk and bike routes
      Berlin only
    Tech stack
      Python FastAPI
      OSMnx pipeline
      Leaflet frontend
    Use cases
      Plan low camera route
      Compare two routes
      Self host for a city
    Audience
      Privacy conscious walkers
    Notes
      Only known cameras
      OpenStreetMap data

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Plan a walking or biking route through Berlin that minimizes exposure to known surveillance cameras.

USE CASE 2

Compare a shortest route against a camera avoiding route side by side on a map.

USE CASE 3

Run the routing pipeline locally against a small test area or the full city of Berlin.

USE CASE 4

Deploy a self hosted instance of the planner with Docker for a specific city's camera data.

What is it built with?

PythonFastAPIJavaScriptLeafletOSMnxDocker

How does it compare?

leonardoalt/kamerafrei0xmukesh/docusaurus-tutorial1tsmejp/palworld-docker-wine
Stars111
LanguageJavaScriptJavaScriptJavaScript
Last pushed2021-12-27
MaintenanceDormant
Setup difficultymoderateeasymoderate
Complexity3/52/54/5
Audiencegeneraldeveloperops devops

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · moderate Time to first run · 30min

Full Berlin data download needs a few GB of RAM and takes a while, a small test area runs in about 2 minutes.

In plain English

Kamerafrei is a walk and bike route planner for Berlin that tries to steer you away from known surveillance cameras. Its name is German for camera free. It works using OpenStreetMap data that marks the locations of known surveillance cameras, the same data used by a related visualization project called Surveillance under Surveillance. The README is upfront that this only avoids cameras that are already mapped, not every camera in the city. Behind the scenes, an offline pipeline downloads Berlin's street and path network and marks every stretch of it with how many meters fall within 25 meters of a known camera. A routing algorithm then finds a path by balancing distance against camera exposure, controlled by a slider in the web interface that ranges from off to maximum avoidance. Users click a start and end point on a map, choose whether they are walking or biking, and see two routes side by side: the normal shortest path and the low camera path, with any remaining camera covered sections highlighted in red. A stats panel compares distance, time, number of cameras passed, and exposed distance between the two routes. The project is built with a Python data pipeline that fetches camera locations and builds the street network, a FastAPI backend that serves routing and camera data through a small API, and a JavaScript frontend using Leaflet for the interactive map. It can be run locally with a Makefile based setup, either on a small test area or for the whole of Berlin, and can also be deployed with Docker. Map data comes from OpenStreetMap contributors under the ODbL license, and the project credits the Surveillance under Surveillance project as its inspiration.

Copy-paste prompts

Prompt 1
Help me set up kamerafrei locally using the Makefile and test-area target.
Prompt 2
Explain how the camera avoidance slider changes the routing cost calculation.
Prompt 3
Walk me through calling the /api/route endpoint to get a low camera route.
Prompt 4
Show me how to refresh the camera data without rebuilding the whole street graph.

Frequently asked questions

What is kamerafrei?

A Berlin walk and bike route planner that lets you avoid streets covered by known surveillance cameras, using OpenStreetMap data.

What language is kamerafrei written in?

Mainly JavaScript. The stack also includes Python, FastAPI, JavaScript.

How hard is kamerafrei to set up?

Setup difficulty is rated moderate, with roughly 30min to a first successful run.

Who is kamerafrei for?

Mainly general.

Open on GitHub → Explain another repo

This repo across BitVibe Labs

Verify against the repo before relying on details.