Mapper
LiveA road network you can correct, and routing you own
Gives each client their own editable road network and a private routing engine built from it, so distances match reality and volume costs nothing.

Why it exists
Planning bus routes needs two things at once that commercial routing APIs handle badly.
The first is volume. Working out which of four hundred stops is nearest to each of four thousand students is millions of distance calculations. Metered APIs price that like an accident, and the practical result is that people stop asking the question — they plan with straight-line distance instead, and accept that the answers are wrong.
The second is accuracy. Public map data does not know about the farm driveway, the subdivision that opened in June, or the service road behind the school. A route planned along a road that is not there is worse than no route at all, because it looks correct.
What Mapper does
Each client gets their own road network, seeded from OpenStreetMap and then corrected by hand wherever reality disagrees. Roads are edited in the browser, including the private and access roads that public data omits, and turn restrictions are modelled properly — a route that ignores a no-left-turn is a route the driver will not take.
From that corrected network, Mapper builds each client a private routing engine, in two flavours: one for driving and one for walking. They are separate on purpose. The route a child walks to a stop is not the route a bus drives, and measuring one with the other produces confident nonsense.
The rest of the suite asks Mapper for distances and route geometry instead of a third-party service. Large planning jobs return whole distance matrices in one call, so a question that used to be too expensive to ask becomes a few minutes of waiting. Rebuilds after editing run in the background.
The point is control. When the network is wrong you fix it yourself, and when the work grows the bill does not.
How it is built
Laravel 13 and MySQL hold the editable network, seeded from OpenStreetMap. That network is exported and built into per-client OSRM routing graphs, each running in its own Docker container — one for driving, one for walking — with a queued rebuild pipeline and a browser-based road editor.