Inspiration

As a lifelong NYC resident, I have long relied on public transportation to get around. However, there was never a good-looking, modern app that tracks buses for free. So, seeing as these apps weren't very well known, especially within immigrant communities, such as my grandma, I decided to take responsibilities into my own hands and create a good looking, simple, and free to use app to track buses and know when they arrive. Furthermore, as the globe continues to warm, one of the most effective ways to slow it is to promote the use of public transit. Limiting the amount of personal cars on the road can leader a greener and more efficient world.

What it does

BusInTime can report to you when a MTA bus in NYC will arrive at a given stop. It also lists the buses at that stop and when they come. BusInTime is an application designed for the everyday New Yorker; it is a replacement for the MTA BusTime website, but optimized for your phone. BusInTime allows you to find out when a bus arrives at a specific stop, view all the buses currently on the bus, and when the next bus is arriving.

How we built it

BusInTime was initially built as a webapp using NextJS, but then ported over to React Native for better mobile compatibility. It operates on a Flask backend for API handling.

Challenges we ran into

While working with the MTA API, I encountered CORS (Cross-Origin Resource Sharing) errors, which prevented me from accessing the data I needed for the app. Thus, I had to create my own backend server using Python and Flask to bypass the error.

Accomplishments that we're proud of

BusInTime was recognized by Hack Club for its creation via the Cider initiative and pushed me to my creative limits.

What we learned

I learned how to build projects in React Native, as well as Flask and putting apps up onto TestFlight.

What's next for BusInTime

BusInTime is now out for Android devices and on track to hit the Apple app store in October. A 2.0 version of BusInTIme would feature widgets for your home screen, utilizing machine learning to automatically suggest and display the time until the next bus that would be most relevant to the user, depending on the time of day and their location. Machine learning would also be notify the user of delays on their most frequented buses. Lastly, it would also add support for subway routes, including all the previously mentioned machine learning features but for the subway.

Share this project:

Updates