Wahi

Wahi is a web application my team and I developed for the Hawaii Annual Coding Challenge 2021. It is an online sighting report system for endangered marine species. This application is split between a mobile app and web dashboard. The mobile app allows the public to quickly and seamlessly report sightings of Hawaii’s protected marine animal species. Sightings data is then sent to the web dashboard where a Hawaii Marine Animal Response (HMAR) staff can opt to view, filter, and export reports.

Our overall mission was to help HMAR staff collate sightings data into a manageable and easy-to-filter catalog. This capability would allow them to instantly check up on reportings of endangered animals and determine whether to take immediate action.

My Contributions

My contribution to this project was primarily with the map view. I worked extensively with the Google Maps API to display location pins of the reported sightings and their associated data. I also developed the map and table view filters and assisted Alyssia with the export page. With the filters, a user can search for an animal through any combination of animal, location, and time. Sightings reports for each animal during specific time periods can be exported to a .csv. As with our previous group projects, I was also in charge of deploying the app via Galaxy.

Challenges

One of the main challenges I faced was making sure the map and list view filtered properly. It did – to an extent. Unfortunately, I was not able to figure out how to visually reset Semantic UI’s dropdown. I chose a clearable multi-select dropdown so users can filter for multiple locations and animals. To make the process of deleting keywords easier, I added a separate reset button so users could clear everything at once instead of individually removing selected keywords. While this successfully reset the selected keywords state, the UI did not update to reflect this. Consequently, it seemed as if subsequent filtering did not work after the first successful filter search. Perhaps, with the given time constraint, if I had simply not added the reset button, then my team would have been given a better judging score. Because of this, I realized it is better to prioritize a 100% working application, even if it only has the basic capabilities, rather than adding a convenient but buggy feature.

Reflection

We came to the HACC hot off the trails of the Meteor hackathon. This was my first time experiencing the HACC – a coding challenge about three times the duration as Meteor. We were a bit burnt out and coupled with the fact that this year’s HACC didn’t have a coding freeze as the previous ones had, we felt it was okay to begin the development about one week in. This proved to be a costly decision as we had to cram near the judging day and not all the features we ideally wanted to implement were there. Of course, starting early is common advice, but I think it’s a lesson that one has to learn for themselves. Nevertheless, the days and nights spent working with my team were delightful. HACC 2021 is definitely an experience to remember.

Github Repository

Deployed App