Inspiration

The North American bird population has declined by 2.9 billion since 1970, a decrease of nearly 30%. This staggering figure is the result of habitat loss due to urbanization. We believe it's crucial for the public to understand the impact we have on bird populations and to inspire people to take action to protect them.

What it does

Our application allows users to identify what birds they are hearing, share their findings, and load that data into a larger database for researchers to track historical bird populations. When a user begins a hike, they hit the "Get Started" button on our homepage. The app then uses machine learning audio recognition to identify bird calls with greater than 85% accuracy. It then shows that data to the user throughout their hike while sending that information to a database, displaying the information for researchers to track bird populations and biodiversity in the area. Users can also view what birds they have seen in the past and share their sightings with friends.

How we built it

We spent sufficient time preparing our tech stack for this project. To build the front-end we used React and Materials UI, for the back-end we used Flask and MongoDB. We utilized Flask to handle API requests and manage interactions between the client and server. Flask acts as the central hub for processing data and executing logic. For data storage and management, we chose MongoDB, to efficiently record various forms of data including information about hikes, bird sightings, and unstructured data like bird sounds. The machine learning component, responsible for identifying bird calls, leverages the birdnetlib library. By integrating birdnetlib with our front-end, we offer a seamless experience for users and contribute valuable data to support ongoing research and conservation efforts

Challenges we ran into

There were many challenges that we faced during these 36 hours. Early into the project, we encountered an issue with retrieving audio recordings and encoding them into a base64 string to transport to Flask. However, there were many issues with decoding and analyzing it with the birdnetlib library. Once we resolved the encoding and decoding issues, we encountered complications with interval recording and updating MongoDB dynamically during a hike. Ensuring that the database reflected real-time data proved to be a complex task. Additionally, we ran into an issue with the API endpoints from Flask. We were getting insufficient responses from the API requests and no data was being returned. Despite these hurdles, we preserved and worked together to address each issue and deal with them appropriately.

Accomplishments that we're proud of

We are proud that we were able to create our product in such a short amount of time, especially since we had never used MongoDB beforehand. We feel that the UI is professional and we are proud of how scalable the backend is, leaving room for future improvements.

What we learned

We learned how to delegate tasks and work efficiently as a team. A challenging part of the project was mapping out all the moving parts, and we are glad that we were able to develop a plan to complete our vision within such a short period. We also learned a lot about utilizing Flask as an API and integrating MongoDB, which we were previously unfamiliar with. Overall, we felt that the main takeaway was the importance of strong organizational skills when working on a complex project.

What's next for Aviate.ai

We plan to implement more visualization tools for researchers to view historical trends and easily determine regional biodiversity. Another step would be to gamify the app, adding features like friends, tracking other users, and a competitive aspect such as a points system for rare birds.

Built With

Share this project:

Updates