today's morning late buses
historic morning late buses

Seattle Late School Buses

This web app documents and reports late Seattle Public School buses. I was inspired to work on this project by the understanding that student achievement is negatively affected by tardiness. I started this project in Jupyter notebooks while teaching high school data science.

The software builds a database of daily late buses with key information such as school, route, minutes late, and date. This information is available publicly on a per-day basis, but no historical database or public APIs exist. The project uses a Flask app to scrape the Seattle Schools webpage, parse it using regex, and post the data to PostgreSQL. The post request is triggered from a cron job on BEEW.io and the back-end service is deployed to Heroku. The front-end web application is React with MapBoxGL and is deployed to GitHub pages.

To establish a proof-of-concept I created a notebook in Deepnote. The Deepnote platform provides a scheduler for running the notebook and a dashboard for publishing the data and maps. The dashboard can be viewed here.