The story

In Algiers you find out when the bus comes by standing where the bus comes and waiting. No agency publishes a usable timetable, and the mapping apps everyone already has show nothing, for the same reason: they consume open transit data, and there is none to consume. Where a timetable does exist it describes an intention rather than a schedule — which is its own kind of missing data, and harder to detect than an empty file.

The app everyone wants cannot exist until someone builds the data underneath it. The pipeline is the product; the app is the part you can see.

The product

Riders get bus, tram and metro in one app, in the three languages the country actually reads in. Underneath, a pipeline manufactures a network out of sources never meant to be one: map geometry, timetable estimates, coarse positions. It publishes the result as a standard transit feed.

The piece I did not expect to build is the review screen. Every candidate feed is compared against the published one and every change is graded before anything ships: routes removed, calendars changed, stations that quietly vanished. You approve a release rather than accept it, because publishing a broken timetable to someone standing at a stop is worse than publishing an old one.

I surveyed riders before writing any of it, and what they wanted was not a journey planner. It was knowing whether the thing they are standing there for is actually coming.