Heatmap of dissolved oxygen
Geolocation of sensors
Made with <3 in Melbourne, FL at the Hack the IRL hackathon (hacktheirl.com)
When we first arrived at the HackTheIRL hackathon, we wanted to build an application to allow people to submit sightings of dead or endangered wildlife on the lagoon. After a few conversations, we realized that in order to build something really awesome, we'd need data about the lagoon. When we went looking for this data, we realized that the sensory data that was available was fragmented, non-normative, and very difficult to attain. This can be a huge blocker for a developer who wants to help the environment, but doesn't have the resources to sink into the collection of that data, so we sought out to build a platform that would enable other developers to help.
What is the problem it solves
The Indian River Lagoon is facing drastic environmental trouble (read more at https://onelagoon.org/). The folks at FAU, ORCA, and the Saint Johns River Water Management District regularly publish data about the lagoon in the form of sensory data such as salinity, temperature, and levels of dissolved oxygen in the water. This information, although instrumental in the betterment of the lagoon, is not very readily-available for consumption by a developer, which can lead to inaction from those lacking resources to collect data.
What it does
Lagoonistics takes the data from LOBO, St. Johns, and Kilroy, pools it together, and publishes a public-facing REST API that allows any developer to tap into the rich data being collected by experts. Also, the online visualization tool (webapp) consumes the data from the API and offers a tool for analyzing trends in said data. For example, the webapp can be used to visualize trends in dissolved oxygen.
How we built it
We built 3 different web/API scrapers to aggregate and normalize all the data on the back end. We then fed that data into a front end web application built with React and MapboxGL.
Challenges we ran into
The data published from the three sources we chose is not normalized. We had to use different methods of data collection that we were inexperienced with and ultimately had to do things like open file types that were new to us, for example, opening a Google Earth link in plaintext to parse out relevant data. Also, the sources had slightly different sets of data, so we had to come up with our own definition of a 'SensorSnapshot' that we would built out of each data gather event. One of the sources did not give us any values for attributes because they are supposed to be seen in a chart on their site. This caused a major pivot for us and disrupted our work flow; ultimately, Victor took on the challenge of adopting a similar experience for the end user and was able to get the images of the chart on St Johns onto our webapp. Three cheers for him!
Accomplishments that we're proud of
We were able to achieve a normalized data set for sensors in the lagoon. This is exactly what we set out to do and we are incredibly happy to say that this can actually help people exploit this data. Something really cool that happened to us was that once we had finished this task, we were able to prove that it works by building the visualization tool. So the blocker that we were presented with when we arrived at the hackathon (not having easy data), we were able to completely remove and have the easy data that we wanted.
Another huge win for us was that we were able to witness the data being consumed by the webapp and immediately saw the use of it. Charles Jacoby spoke to us about how in the nighttime and shade, the dissolved oxygen levels rise in the lagoon, and then when the sun comes out the plants are able to photosynthesize. Well, we looked at the visualization webapp all night and saw the dissolved oxygen levels were low, but when the sun came out in the morning, we noticed the graph changed and showed higher levels of dissolved oxygen. This is exactly what we expected and had hoped for.
What we learned
Each team member worked on new technologies such as NodeJS, React and MapboxGL. We each worked on tech that was completely new to us, but ultimately was what we needed to get the job done. We learned that talking using available resources is a key part of being able to provide a useful product as well, and would like to give many shoutouts to Charles Jacoby and Duane DeFreese for helping us understand the issues facing the lagoon and shape our product.
What's next for lagoonistics-ui
We would like to see other people consuming the data and building out technologies to help the lagoon, and we are equally excited to see people adding on data from more sources and have an even richer data set.