Inspiration
Coral reefs are some of the most important ecosystems on Earth but the way they are surveyed by divers has an inconsistent system. Since research organizations work independently, there may be duplicate surveys in areas while other reefs are unmonitored for long periods. Our inspiration comes from building a system that makes the process to coordinate marine surveys streamlined so divers can pay attention to places that need it the most.
What it does
TIDE is a coordination platform for marine survey teams and volunteer divers. It provides a map-based interface that shows reef zones, survey activity in the past, and planned dives coming up. This encourages users to see which reefs have not been surveyed yet and join upcoming dives to avoid duplicate efforts between organizations.
How we built it
We built TIDE as a web app with a Flask backend and a frontend using HTML, CSS, and JavaScript. The app shows dive sites on an interactive map, lets users sign in with Google, and allows authenticated users to add or update site information. We also added a SQLite database so dive site data is stored permanently instead of disappearing every time the server restarts.
Challenges we ran into
One of the main challenges was moving from an in-memory data store to a database without breaking the existing API and frontend behavior. We also had to make sure authentication worked cleanly with database writes so every change could still be tied to a specific user. Another challenge was testing the app in a local environment where some dependencies and environment variables were not always set up at first.
Accomplishments that we're proud of
An accomplishment we are most proud of is that TIDE now has persistent storage with SQLite, which makes it much more applicable to users. We also built a clean workflow where users can view dive sites on a live map, sign in with Google, and contribute new data through the app. Another accomplishment is that the backend keeps track of who added or updated each site, which makes the data more trustworthy.
What we learned
We learned how to connect a Flask app to a SQLite database and keep the API responses consistent while changing the storage layer underneath. We also learned more about handling authentication in a way that works well with user-created data. On top of that, we saw how important testing and environment setup are when moving from a prototype to something more stable.
What's next for TIDE: Tracking and Intelligence for Dive Expeditions
Our future direction for TIDE is to make it more useful for real dive planning and research. We want to add richer survey data, better filtering and search tools, and more detailed site information like conditions, hazards, and marine life observations. We also want to improve collaboration features so multiple users can contribute field data, and eventually expand TIDE into a stronger platform for dive expedition planning and underwater data collection. Furthermore, we set out to create a hub for volunteer divers. This is a feature that we plan to add in the future.
Log in or sign up for Devpost to join the conversation.