We won Alexa in a hackathon raffle several months ago and never used her until just last week. When we finally got her working, we fell deeply in love with what she's able to do. Now, we want to take Alexa one step further: speaking in languages besides English and German. What's more, Alexa would be able to use her new found linguistic abilities to teach us new languages! We call this new skill: Badlingo.
What it does
Badlingo is a skill which anyone can install on their Alexa. The conversation begins when you tell Alexa to launch Badlingo, and specify a language to learn (currently French, German, Italian, Spanish, Dutch, Polish and English). Alexa will then ask for a word to translate, and you will have to repeat the word until Alexa is happy with your pronunciation. When she is, you may tell Alexa a new word or a new language to learn.
How we built it
Badlingo is built using a node.js backbone, where the codes are executed on the cloud via AWS Lambda Function powered by Alexa Skills Kit Library. The ARN is used to connect the Alexa skill to the codes on the AWS Lambda Function, providing the skill with the backend functionality. The audio requests from the user are mapped to utterances, which are then parsed into JSON objects and sent as inputs to the Google Translate API functions in the AWS Lambda Function. We used RapidAPI as a platform to run the Google Translate API functions for convenience. The translated outputs are then sent to Alexa to be output as audio.
Challenges we ran into
Getting Alexa to understand our weird English accents
Accomplishments that we're proud of
This is the first time we hacked Alexa, and used Google Translate and Rapid APIs!
What we learned
Alexa is awesome, and everyone can use her to make radical new stuff
What's next for Badlingo
Support for more languages (Russian, Arabic, Mandarin, etc)