We wanted to recreate the bear Ted from the movie with the same name. Unfortunately, we haven't found a bear. But we have a monkey called Nigel.
What it does
Uses speech recognition to understand natural language. Talks to you. Understand complex queries and can make use of the Yelp and Twilio APIs when needed. It talks to you back by translating the words into sounds. We've also build a skeleton for the Monkey using arduino so it can move its head and mouth.
How I built it
We have 2 nodeJS servers. The first one is "attached" to the monkey and does lots of processing: the speech recognition stuff, sends signals to the arduino microcontroller, translates words to sound and sends information to the second server. The second server is like a black box for dealing with the APIs. It communicates with them and sends the result back to the first server which interacts with the monkey.
Challenges I ran into
Linking the hardware and the software. Linking the 2 servers.
Accomplishments that I'm proud of
We've build a pretty complicated distributed system which interacts directly with the hardware. The money can answer your questions, move giving the illusion that everything happens locally. Actually we have 2 servers behind it.
What I learned
How to interact with hardware. Better knowledge of communication between servers.
What's next for AskNigel
Integration with more APIs out there. Better AI. Ability to understand even more complex queries. Mechanize more body parts for the monkey.