One of the biggest issues people have with current public transit options is how it takes much longer to go by bus than by car (or even walking sometimes). A big part of this comes from long wait times during transfers.
With modern computing power and access to real time data, implementing algorithms to schedule and modify bus routes is a natural next step. There's been research at academic institutions on how to best do this, but some of the benefits they see is an increase in efficiency of bus routes and a decrease in rider wait time.
What if we could use information being gathered on bus routes, like what transfers are most popular and general movement patterns of riders, and optimize transfer timings along their travel path? What if we could recognize redundancies in some of our routes and stream line them?
Here's a link to a paper on bus algorithms: https://www.sciencedaily.com/releases/2007/10/071023163840.htm
With this being a project with precedence, it would be something a programmer could implement quickly and without much research cost.