Decline, two years early

Urban Sentinel

A map for city planners that flags Toronto neighbourhoods heading for decline.

Urban Sentinel screenshot

Urban Sentinel reads Toronto's 311 service requests and works out which neighbourhoods are sliding before the decline is obvious, up to two years ahead. The idea was to give planners somewhere to point money early, when it is still cheap to fix. We deliberately used classical machine learning rather than a language model, because the signal is in the call volumes and the geography, not in text. It placed 2nd overall out of more than 300 teams at Hack404.

  1. 1

    Years of Toronto 311 requests are cleaned and geocoded, then rolled up per neighbourhood with GeoPandas and pandas.

  2. 2

    A LightGBM model learns which patterns of complaints run ahead of decline and predicts each neighbourhood two years out.

  3. 3

    FastAPI serves those predictions to a React and TypeScript frontend, which draws them on a Mapbox map you can explore.

  4. 4

    The whole stack runs in Docker so the model and the API deploy together.