Inspiration
The inspiration for BT Buzz stemmed from a deep understanding of the unique challenges that Virginia Tech students face when navigating the Blacksburg Transit system. The creators of BT Buzz were inspired by a shared experience as students themselves and a desire to simplify and improve the transportation experience for their fellow Hokies. There is a need to make it easier for BT students to get around, reducing the stress of commuting and ensuring they can fully enjoy their time on and off campus. BT Buzz is driven by a passion for innovation and a commitment to enhancing the transportation experience for the Virginia Tech community, helping students make the most of their time at the university.
What it does
Our project is a multi-level system, programmed in Python, which offers real-time location and ETA updates of Virginia Tech’s bus system for students. Using the Blacksburg Transit (BT) API and the Google Directions API, our backend software calculates the relative position of a selected bus to a selected bus stop and through an LCD, using frontend software, displays the bus route name, stop number, estimated arrival time, availability, and an animation of a bus leaving after a simple button is pressed. Shortly after the button is pressed, the user will receive an SMS text message that displays the same information through the Twilio API for ease of access to the information. If the bus has an arrival time that is more than 5 minutes, a second SMS message will be sent out when the bus has an ETA of 5 minutes to remind the user.
How we built it
We started by first discussing what we thought to be important aspects that play a role in the time it takes for a bus to reach its destination. We were able to conclude that the current time compared to the time of classes, the capacity of the bus, and traffic played major roles in the bus timing. From here, we decided to split up the tasks and tackle a few of these aspects. For this project, we focused mainly on traffic and capacity.
After finalizing the algorithm, we decided to figure out the best method of communicating the information. We found that an instant message through hardware provided the quickest and most accessible response, as well as causing the least hindrance as it does not require the user to visit a site. At the same time, we also recognized that not everyone wants to keep clicking a button, so we also included a 5-minute reminder to help students arrive at the bus stop on time.
To develop the application we decided to split tasking into four separate sections, the hardware, time calculation algorithm, business plan/marketing, and lastly integration/API. This setup allowed us to work separately and easily combine our work at the end into a fully capable end product. Through this method, we were able to efficiently create the product and the documentation in parallel, allowing us to finish quickly and understand the project further.
Challenges we ran into
The biggest challenge that we faced when working on this project involved the hardware functionality and fetching the location of the bus stops. On top of this, half of our team were first-time hackers without any prior experience in Python programming, or programming in general, the language of choice for this hackathon.
Hardware
When working with the display, we were unable to get the LCD to display text using the i2c display. We tried replacing the part with a different display and, however, it still would not function properly. To overcome this, we decided to switch over to a serial communication-based LCD which required more cables but allowed for easier overall communication and fewer proprietary libraries.
APIs
For this project, we used quite a few different APIs, such as Google Directions, Twilio, and BT. For the most part, these APIs were fairly intuitive and simple to use with the documentation provided. However, the one system we faced some difficulties with was the Google Directions API due to the difficulty in creating the API key, as it required credit cards to activate/pay for API requests.
New Hackers
Half of our team were people who were participating in a hackathon for the first time. Because of this, it placed an interesting bottleneck on the group due to the lack of experience and knowledge of programming from these members. Despite this, we were all able to split the work to fit everyone’s niche and teach new skills to those who were less experienced. We all found this to be a fun experience, however, it did lead to points where the experienced members needed to assist the first-time hackers with certain elements that were not as clear. Some of the new hackers were also less familiar with APIs and Python which led to enjoyable learning moments during the hackathon.
What we learned
Throughout the event, everyone was able to learn a lot from the hackathon due to the variety of experience levels. The more senior members got a chance to share some of the knowledge with the newer hackers and teach them the thought process involved with developing ideas, interacting with APIs, and the general process utilized to make an idea a reality. Both of the first-time hackers learned Python and general programming skills. On the flip side, the more senior members had a chance to learn how to teach these skills in an easy-to-understand manner and break up tasks into more manageable parts for the newer hackers.
What's next for BT Buzz
The team thinks that turning this prototype into a more developed and soundproof application would be beneficial to not only us but to all Virginia Tech students. As of now, there is no internal alert system for the bus routes through the BT app, so giving students a heads up for when their bus is near their bus stop would be extremely appreciated by current students. It is also important to note that the time estimation system could be improved from its prototype phase as it does not account for the 5-minute breaks that the bus drivers take each pass through their route. Finally, we could have optimized our usage of the Google API to reduce the amount of charges placed on our account to calculate our ETA times.
Log in or sign up for Devpost to join the conversation.