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
- amazon-dynamodb
- lambda
- lex
- pandas
- python
- s3

Log in or sign up for Devpost to join the conversation.