I've built and maintain website + iOS + Android apps for public transit for several small municipalities that don't have a good solution. I usually end up adding cities if I visit there and an unhappy with their app offering.
Most of these municipalities use a smaller 3rd party vendor for tracking their buses, but often, the user facing application is sorely lacking. My applications utilize the same data, but try to:
1. Have a simple interface for quickly tracking buses 2. Have a simple interface to see times at your stops 3. Be specific to the city/transit agency. Most of the 3rd party vendors don't white label their apps, so somehow you have to know to download the My Stop app for Birmingham, AL, even though searching the App Store for Birmingham won't bring that app up. Once you have the app, you then have to find your transit agency.
Currently, I support Availtec, RouteShout, and TransLoc.
This was originally built for me in Birmingham, and I slowly expanded it as I visited other cities.