Inspiration

After watching Our Oceans narrated by David Attenborough, the statistic that only 10% of our world’s oceans are designated for conservation was emotionally moving, especially considering that our aim of 30% by 2030 will likely not be met. This led us to think about which ocean animals are endangered and how human activity affects their migratory patterns. This was also inspired by another David Attenborough documentary documenting different species and their diverse migratory patterns and how they change through the seasons but also over the years because of global warming.

What it does

TurtleTide is an interactive web page that teaches the public, especially students, about marine conservation. Users follow the migration trails of vulnerable sea turtle species from 2006 to 2020, meet each species at its dive depth, and explore interactive boxes full of facts about every turtle.

How we built it

Using data from OBIS-SEAMAP, Movebank and SWOT, we built data/species.json (7 species, colour, depth range, facts) and data/migrations.geojson (routes with dates). For the backend, we used FastAPI endpoints: /api/species, /api/migrations with time filtering, /api/oceans with bounding boxes, plus tests. Leaflet or MapLibre is set up to draw and animate paths, ocean click-to-zoom, depth layer and highlighting. Lastly, we built the user interface in NiceGUI, using Python for the page layout and CSS for the visual design. We used a pixel-art arcade style with an underwater color palette to make the experience feel like a game. The map area is kept separate so the map integration can be handled independently.

Challenges we ran into

Obtaining the necessary telemetry data to track these turtle migrations was extremely convoluted. The only reliable source we found required a human to login and verify their intentions with the data which led us to obtaining excel files with over a million data points pinpointing different turtle sightings across the globe. However, unfortunately, the turtle species were not specified. To fill these gaps, we inferred the species from the characteristics and habitat described in each record, supported by citations and other relevant sources. We also struggled with the UI as animating the turtles was initially a challenge and required multiple touch ups. Finally, the codespace on github only worked intermittently for us all and hence we decided to eventually create a website for our project which ran a lot more smoothly. We also did not have time to remove some features from the website which relied on other features which we did remove such as the depth slider achievements.

Accomplishments that we're proud of

We are proud of the teamwork and dedication that went into our first hackathon which allowed us to effectively work in a time-pressured environment as a group with no CS experience. We are proud that we were able to delegate tasks effectively, dividing them between UI, front end- data collection and back end. We are also proud that we came up with the idea organically based on topics we are passionate about. Learning on the clock was also a big accomplishment.

What we learned

We had never used GitHub or any IDE for a programming project before so we learnt how to do that today. We also learnt about the Git DVCS in order to push our code to GitHub. We also learnt about various AI agents and their powerful agentic abilities which enabled us to build a web application efficiently whilst having minimal experience.

What's next for Turtle Tide

Whilst discussing our motivations for this project, we envisioned working on more group projects together and potentially even obtaining the necessary data to track these turtles live using telemetry data. Whilst obtaining open source data was a challenge, we could reach out to researchers with our goals and hence aid ocean conservation education for children across primary schools in the UK using simulation websites like ours. This simulation was also inspired by education websites like https://phet.colorado.edu/en/simulations

Share this project:

Updates

Submission history