Inspiration

Cyril Oberlander, Dean of the Cal Poly Humboldt Library, wanted to connect the act of learning about wildlife to the environment it's in. Through an interactive soundscape, users can immerse themselves in nature and ground their learning experience in the world just outside their door.

What it does

SoundScape allows users to listen to recordings of wildlife from across the California coast using observation data sourced from iNaturalist. The application presents real wildlife observations and audio recordings.

How we built it

We used the Flask web application framework to handle routing and user and API requests. Our front-end design was implemented using HTML, CSS and the Jinja2 templating system that Flask integrates with. Our page content is dynamically populated using fetched data from the iNaturalist API.

Challenges we ran into

For all of us, this project was an introduction to the challenges of handling big data. iNaturalist hosts over 23 million observations of Californian wildlife, and our web application needed to be able to traverse and display all of that information. Designing a system capable of handling that data required continual back-end iterations and problem-solving sessions.

Additionally, our team was relatively new to several of the languages, frameworks, and tools used in the project. That learning curve made development slower and forced us to prioritize core functionality over our more ambitious goals that were described in Cyril's vision.

Because of time constraints, the project was not feature complete. In particular, our observation refinement feature was non-functional, along with a metadata section intended to let users learn more about particular wildlife.

Accomplishments that we're proud of

Despite the technical challenges and steep learning curve, we successfully built a functional and visually engaging application capable of traversing the full iNaturalist observation space. We are especially proud of our teamwork, collaboration, and the page design mock-up team member Raul Cano Canul made.

What we learned

We all gained more experience developing web applications, designing front-end interfaces with HTML and CSS, integrating external APIs, and building back-end systems with Flask. We also learned the importance of iteration, debugging, and were able to apply important project management practices.

What's next for SoundScape

Team member Ambrose Sturgill has continued development of SoundScape to refine the core functionality of viewing and listening to local Californian wildlife. That project can be viewed here: https://github.com/ambrose-s/Hackathon2026-Soundscape

Share this project:

Updates