We came into TAMUhack wanting to create something with a practical purpose and for an interesting challenge. Almost immediately, we became very passionate about the USAA challenge to help people overcome the Australian bush fires. We even interviewed someone who had visited Australia recently and had seen the fires firsthand, so we could feel the reality of the situation.
What it does
The web app provides relevant fire safety and weather information to users on any device. Features include capability to search any location and receive visualizations of humidity, temperature, air quality, precipitation, and fire risk to inform the user on proper measures to ensure safety.
How we built it
We built the web app using the popular web framework Angular. Several APIs were used in the project to obtain relevant fire data, including Breezeometer, Google Maps API, Climacell, and WeatherOps Climate Analysis API. These provided us with all of the data required to display a complete picture of the current situation to visitors and allow them to judge their current risk level.
For the backend, Google Firebase Functions were used alongside Firebase Realtime Database to store over 1,500 data points relating to fire risk level. This allowed us to create a risk heatmap for the entire country of Australia. The map is updated every 24 hours automatically on the backend.
Challenges we ran into
The main challenge we ran into was implementing the heat map. It was very difficult to get the data from the API stored in our realtime database in a format that could be piped into the Google Maps API to generate a heatmap. In addition, for two of our team members, web development was entirely new, and learning Angular for their first project was a daunting task.
The data for this project is dependent upon several different APIs, and being able to search for specific addresses required many real-time updates to the web app. Often times, due to our extensive use of asynchronous functions to accomplish the HTTP requests, this resulted in some of the data not being updated at the proper time.
Accomplishments that we're proud of
The heatmap and UI are the things we are most proud of. Collecting enough data for and implementing the heatmap was a complex process that involved tying several different APIs, Google Firebase Functions/Realtime Database, and the Google Maps API together. We believe we ended up with effective, practical, and cool looking map as a result!
One of our favorite things about the UI was how professional we managed to make it look. Consistent theming along with some great charts made for an interactive and enjoyable user experience. We definitely learned a lot while designing each component, and honestly spared no time when creating them. While investing heavily into a specific area might not be the best strategy for a hackathon, it allowed us to create a product that we can be proud of. Each component is live and populated with real data, making our application much more than simply a framework to expand upon. We hope that you enjoy exploring WatchTower as much as we enjoyed creating it.