Inspiration

We are interested in Birding and the preservation of birds. We were looking for an opportunity to combine our passion for technology with our interest in Birds. With this bot we can help to raise interest and awareness about the various Bird species.

What it does

BirdBot is an alexa skill and lex chatbot that can answer basic birding questions. Currently, its question/response forms are:

What birds can I see today? - Responds with common and likely birds based on ebird data for user's county

Tell me about a Song Sparrow - Reads description from the Cornell "All About Birds" guide website

What does a Wood Thrush sound like? - Retrieves sound from the Macaulay Library and transcodes to be playable by Alexa

What does a great-horned owl eat? - Reads food source per the Cornell "All About Birds" guide website

What does an American Robin look like? - Retrieves image from the Macaulay Library and sends to user via Alexa card or in-line in lex chat

When can I see a Yellow Warbler? - Responds with likely seasons and specific month/week for best viewing based on local ebird data

BirdBot lives in AWS as lambda functions and dynamodb datasources.

How we built it

This project consists of three subproject:

BirdBot - This project contains the actual lambda code that gets deployed to AWS and serves as the actual deployment for this project. The other two projects are dependencies of BirdBot (DataPrep indirectly; BirdBrain directly).

BirdBrain - This project contains a module that is embedded in BirdBot (below). The module has libraries for building responses to the lex/alexa questions and the necessary data/query work to build those responses

DataPrep - This project contains code necessary to retrieve all data sources (AAB bird data; Clement's Taxonomy; EBird County Histograms), process them, and write them to their final home (dynamo, s3).

Challenges we ran into

The first issue was finding a good source of data. Luckily Cornell's Lab of Ornithology proved to be a treasure trove. We were able to get detailed Bird descriptions as well as multimedia data. Were we able to get high quality photos and audio recordings. This really brings the Bot alive.

Accomplishments that we're proud of

We were able to use S3 as a data store which help keep cost down and allows for easy updating. We were able to get audio recordings from the McCauley Library and transcode them on the fly using ffmpeg. This allowed us to format that audio for ideal use.

What's next for BirdBot

Next we would love to add a feature that allows folks to identify a Bird they have seen using various physical markers such as coloring, length, beak size, etc.

Built With

+ 1 more
Share this project:

Updates