Inspiration

What it does

Uses a decision tree model trained on some of the real-time data to predict the 'On-Time' status for busses arriving at their next stop. The busses are displayed on a visual live map with their predicted status.

How we built it

Python FastAPI for the API calls Simple frontend made with HTML/CSS/JS Python scikit learn Decision Tree model for prediction Docker + Google Cloud Run for hosting

Grok and ChatGPT used for debugging, testing, and to help preprocess data from protobuf format for our app

Challenges we ran into

Frontend and hosting as we have less experience in working with those

Accomplishments that we're proud of

  • Frontend: even though it's a simple frontend, we don't have much frontend experience
  • high accuracy of decision tree model: model reached accuracy of 97% in our tests
  • Hosted project on public web server with custom domain

What we learned

How to dockerize project so it can be hosted Push to google cloud Use Google Cloud Container Registry Use Google Cloud Dashboard Use Google Cloud Run Use protobuf format data

What's next for Live Bus Arrival Time Prediction with Decision Tree ML Model

The ML model is very easy to train, so adding extra variables it could consider when predicting arrival time would be simple. The model could be trained on weather conditions, traffic data, peak hours, and it would make the model more robust and accurate. With enough historical data the model could also be trained to predict the exact arrival time to the next stop given all the variables.

link to demo site: https://nallace.tech/

Built With

Share this project:

Updates