Open · Free · Self-hostable

The missing operating system between mobility data and political decisions.

OpenMobility OS is not another consumer routing app. It is a decision, prioritization, and transparency platform that turns scattered open data into traceable, defensible choices — so the case for safer streets and better mobility can be made in the open, in any city, in any country.

Municipalities City planners Local politics NGOs Journalists Researchers Citizens

What it is

  • A prioritization engine for mobility measures
  • A transparent, auditable scoring layer
  • A public window into how decisions are made

What it is not

  • A turn-by-turn navigation app
  • A black-box recommendation engine
  • Locked to one city, vendor, or country

Betriebsmodi

One codebase, three ways to run it — pick the scope that matches your installation.

public-demo

The landing page lists every workspace — ideal for showcases and open catalogues.

single-city

One municipality; the landing page redirects straight into that workspace.

multi-city

A county, region, or state — one installation hosts many workspaces side by side.

Self-hosting in under a minute

No proprietary SaaS, no hidden dependencies. Clone it, set two secrets, and bring the whole stack up with Docker Compose.

quickstart — bash
git clone https://github.com/richardkfm/openmobility-os.git
cd openmobility-os
cp .env.example .env
# edit .env — set SECRET_KEY and ADMIN_TOKEN
docker compose up --build

Every change keeps this command working end-to-end — self-hosting first is a project principle, not an afterthought.

Principles we never violate

Six commitments that shape every line of code and every feature.

Stadt-unabhängig

No logic is wired to any one place. Leipzig is just a demo — every feature works for any municipality, anywhere.

API-first & connector-based

Data enters through pluggable adapters — CSV, GeoJSON, OpenStreetMap, GTFS and more. Core code never assumes a vendor.

Transparente Bewertung

No black boxes. Every score exposes its sources, inputs, formula, and uncertainty — traceable back to the raw data.

Self-hosting first

Docker Compose is the entry point. No mandatory SaaS — a municipality can always run the whole stack on its own hardware.

Open public layer

Read access is always free and login-less. Only write actions are protected, so the public can always check the work.

Internationalized from day one

Every user-facing string goes through translation. The platform speaks the local language, not just English.

v0.49.0 · Betriebsmodus: public-single-city
Source on GitHub