Inspiration

As sleep-deprived students who have experienced long bus and train rides, we know the frustration of wanting to take a nap on a long trip but being scared of not waking up for your stop and missing it. Thus, we wanted to create a web app to automate the task of waking up the rider by tracking the ride and notifying the user when the stop approaches, thereby allowing the rider a nice stress-free rest on a monotonous ride.

What it does

buzzZ is a web app that tracks the user’s location and notifies them when they approach the destination, which allows them to wake up for their stop in time. Hence, it “buzzes” the user to wake them up from their nap (“zzz”).

How we built it

  • Communication: iMessages, Slack
  • UI/UX: Bulma
  • Platforms: Git/Github, VSCode, Twilio (voice API), geopy (API), geocoder (API)
  • Languages: Python, HTML/CSS
  • Frameworks: flask

Challenges we ran into

  • changing and accessing the same global dictionary from different processes when using multiprocessing
  • figuring out how to use the APIs (none of us have used them before)
  • integrating frontend and backend (connecting user inputs to backend)
  • sharing versions of the code between team members (confusion in using Git)
  • had some issues with importing Python libraries on some computers
  • lots of bugs

Accomplishments that we're proud of

  • use of many new APIs
  • problem solving
  • even though there was a time crunch, we made the most of us time to make a minimum viable product
  • trying new tools and languages

What we learned

By working on this project, we learned how to make automated calls and more using Twilio’s voice API, and we got the chance to explore getting user locations and geocoding with various Python libraries. We learned and implemented multiprocessing to have different functionalities run simultaneously. Building buzzZ also helped us gain a better understand of Python data types and mutability.

What's next for buzzZ

In the future, we would like to allow buzzZ to store users and phone numbers in a database so users can easily use the service repeatedly. We would also like to use Twilio APIs to verify the user’s phone number in order to prevent accidental and intentional incorrect phone numbers. We want to look into other methods of location tracking that have higher accuracy to improve our functionality. We could expand the application to include additional features as well, such as the ability to set a regular schedule that buzzZ can operate on automatically.

Share this project:

Updates

Submission history