Depending on amount of buildings/streets etc most cities can be between 20 and 100MB, way within what most people have as apps on their phone. Most cities have all public transportation time tables in NeTEx format, so that could be included in the app (or just API), but if all is in the app you can give better optimization experience.