Work

Flowcast — Melbourne Traffic Intelligence Platform

A full-stack traffic forecasting platform ingesting 131 million rows of Melbourne SCATS signal data to train predictive models, cluster intersection behaviors, and render results on an interactive WebGL map.

Role

Solo Developer

Year

2026

Source

GitHub
131M Rows Ingested
4,741 Intersections
3.9% Forecast MAPE
58 ML Tests
Python59.2%
TypeScript29.9%
CSS10.1%
PythonTypeScriptReactFastAPIDuckDB

What It Does

Flowcast is a traffic intelligence platform for Melbourne, Australia. It ingests 131 million rows of Victorian SCATS traffic signal data — 5.3 GB compressed across 4,741 intersections — to train gradient-boosted forecasting models and present results through an interactive WebGL dashboard with live map rendering.

How It Works

A resumable Python pipeline loads raw SCATS ZIP files into DuckDB using wide-format storage (96 columns per row) to avoid materializing 12.6 billion long-format rows. KMeans clustering groups intersections into 8 behavioral profiles based on 24-hour traffic shape. A HistGradientBoostingRegressor (500 trees) forecasts daily vehicle counts at 1, 7, 14, and 28-day horizons with recursive multi-step prediction and volatility-aware confidence intervals. The FastAPI backend serves forecasts, clusters, and correlation data to a React + MapLibre frontend rendered with WebGL.

Key Features

  • WebGL map — 4,449 geocoded intersections with volume, cluster, and region color modes
  • Multi-horizon forecasting — 1/7/14/28-day predictions at 3.9% MAPE with confidence bands
  • Behavioral clustering — 8 intersection profiles visualized with radar and scatter charts
  • Corridor detection — Pearson correlation + cosine similarity identifies linked site pairs with time-lag estimation
  • Resilient pipeline — Idempotent ingestion with manifest-based tracking and quality scoring