In 2017, one of our team members bunkered down through Hurricane Harvey, which devastated the city of Houston. Many low-lying areas were flooded, stranding families inside their homes and cutting off supply lines and infrastructure. However, the resulting community response was astonishing - thousands of boat-owning residents took it upon themselves to rescue their less fortunate neighbors by ferrying people out of dangerous waters and bringing supplies, compensating for the city police and fire departments that were severely backlogged with many other tasks. To facilitate their efforts, the volunteer rescuers used social media and Google Maps, building impromptu pages to communicate with each other and identify hazardous areas for rescue. Our idea is to combine all of the disparate command centers that saved Houston during Hurricane Harvey into a single app so rescuers and even victims are prepared ahead of time. The location, status, and situational needs of every user will all be viewable on a live map, broadcasting vital information to everyone in the disaster zone and strengthening the bonds of local communities during difficult times.
What it does
Beacon is primarily a location-tracking app, broadcasting the user’s location as a dot on a map to other users whenever the app is enabled. Users can choose between 5 different settings for their status - emergency (requesting aid ASAP), help (requesting non-urgent aid), neutral (the default setting), safe (no aid necessary), and rescuer (offering aid). Every user’s dot will be assigned a certain color depending on their status, and additional comments describing specific types of aid or situations can be viewed by rescuers as a pop-up on the map. By tracking location, rescuers can easily identify swathes of rescue locations and find victims, and victims can determine where the nearest rescuer to their position is.
How we built it
Beacon is an iOS app built in Xcode 10.3 using the Swift 4 programming language, with MapKit tools to support the location-tracking features.
Challenges we ran into
When we initially brainstormed the idea for a disaster response app, location tracking was the most daunting issue since we had no idea how to pull location data from devices and implement it. We used MapKit to track our own location, but it was too difficult to set up our app to track other client devices as well, so for the purposes of the demonstration, we decided to simulate that data instead. Early Saturday morning, we ran into a massive merge fiasco when 3 of our team members tried to improve the functionality of the user’s status colors all at the same time. After painfully moving back to a previous version and redownloading all of our code, we learned to coordinate our git commands.
Accomplishments that we're proud of
Coming together as a team and producing our planned idea is one of our most significant accomplishments this weekend - we are a team of 4 college freshmen and first-time hackers, so we’re completely new to everything. In just 36 hours, we figured out how to pool our thoughts together, generate a unique idea, determine our constraints, and relentlessly debug to hack the final product together.
What we learned
We discovered how to take full advantage of version control with Git, as we broke our app many times during development and became very well acquainted with reverting back to our last working version. Additionally, we learned how to designate tasks between back- and front-end development and link them together to construct the app. For example, we split button creation tasks among team members by delegating one person to construct the button UI, while another linked buttons to Beacon’s functionalities.
What's next for Beacon
Adding communication features would significantly improve the utility of Beacon if rescuers and victims could quickly share information with each other within the disaster zone. A potential next step could be to partner Beacon’s functionality with the Zello app, a communications app that simulates walkie-talkies and can run on low signal, which was also used by rescuers during Hurricane Harvey.