Bluebikes Live Analytics Platform
An end-to-end system for Boston's bike-share network: live station data every 5 minutes, a warehouse of historical trips, demand forecasting, anomaly detection, and pipeline monitoring.
- Built 5-minute ingestion of the Bluebikes GBFS feed (about 630 stations per snapshot) into PostgreSQL with Row Level Security, plus a freshness check that flagged a 6.8-day and a 3.8-day outage.
- Loaded 29 months of trips (11.9M raw rows) into BigQuery and modeled them with 8 dbt models and 21 passing data tests, producing an hourly feature table of 11.8M station-hours.
- Trained a LightGBM demand forecast that cut test MAE by 19.9% (0.787 to 0.630) against a seasonal-naive baseline on a time-based hold-out.
- Evaluated anomaly detectors on injected faults; a city-adjusted z-score caught 76% of faults at stations expecting 25 or more trips, at a 0.19% hourly false-alarm rate.
- Deployed a FastAPI service on Google Cloud Run, a public Streamlit dashboard, and a Grafana pipeline-health dashboard.
- Python
- SQL
- BigQuery
- dbt
- LightGBM
- FastAPI
- Grafana
In progress: adding weather features to the demand forecast and moving data collection to a cloud scheduler.