Inspiration

Our inspiration for KeyRoute came from real challenges we saw in people around us regarding navigating the public transportation system. In one of our classes, a deaf professor highlighted how difficult it can be to know when he arrived at his destination without clear alert signals. Additionally, after helping elderly relatives try to navigate public transportation, many of us shared concerns regarding the safety and wellbeing of these family members, showing us the need for tools that can support independent travel. Finally, we noticed how new students and friends unfamiliar with the Boston transit system often struggled with navigating it, and relied on technologies that were often difficult to understand.

What it does

KeyRoute is a smart keychain that allows users to navigate the public transportation system with ease. It has two modes: Catching the Train and Destination, providing timely alerts through lights and buzzer sounds when users should set out for their train or arriving at their destination, respectively.

How we built it

On the backend side, we mainly used Python and an MBTA (Boston Public Transit) API. On the frontend, we used Javascript and React.js. For the hardware, we 3D modeled and printed our keychain housing to fit an Arduino Nano ESP, green, yellow, and red LEDs, and a Piezo buzzer. The wiring connections were soldered together, and we used Arduino IDE to send signals from the frontend to the hardware.

Challenges we ran into

The biggest challenge we faced was coordinating across hardware, software, and design teams within the limited hackathon timeframe. We didn’t have much experience with integrating APIs with hardware prior to this, and throughout the coding process, we ran into a lot of issues with connecting backend to frontend (with the frontend not appearing at all for a while).

Accomplishments that we're proud of

One accomplishment we are proud of is building a working prototype and successfully assembling the hardware and circuitry. We are also proud of being able to complete the frontend, backend, and hardware and being able to connect all three components given the time constraint.

What we learned

Some things we learned include how to integrate an API with hardware and how to connect the full stack.

What's next for KeyRoute

Looking into the future, our main goals for KeyRoute is to move the core functions from our frontend to the keychain, allowing users to mainly just rely on the keychain for everyday use. Additionally, we hope to expand KeyRoute’s modes, by allowing users or families to create pre-set routes for daily commutes or doctor’s appointments. We also hope to expand KeyRoute’s usage to all of Boston’s public transportation, and eventually for transit systems around the world. Finally, we hope to enhance the portability and design of the device, creating smaller keychain designs unique to different cities’ public transportation.

Share this project:

Updates