When learning a new language, it's helpful to have someone you can converse with for practice. If you don't know anyone who speaks the language you are learning or they are all busy, there is little you can do except wait. That's where Emma comes in! Emma is available to talk whenever you need, and she is fluent in many different languages.

What Emma does

Emma is a chatbot who can recognize speech in many different languages, and can respond in those languages as well. She can hold continuing conversations, switch languages mid-conversation, give you definitions of words or phrases, and much more!

How we built her

We used Google Cloud APIs to translate text to our default language, which our Dialogflow chatbot responds to. Within Dialogflow, we used the intents as well as fulfillments, which allow us to provide a customized and smooth experience.

Challenges we ran into

We ran into challenges with understanding how to correctly use fulfillments, obtain access tokens for the APIs, and with the iPhone app UI, but we overcame them all!

Accomplishments that we're proud of

Emma responds quickly, her speech-to-text recognition is accurate as well as her translation, and her conversations are surprisingly interesting!

What we learned

We learned how to use Google Cloud API as well as the new Swift UI. We also got practice with network requests and general API calls.

What's next for Emma

Emma is always learning, and we hope she will eventually be able to converse at different levels so she is more accessible. We also hope to customize her further with custom questions, jokes, and more.

Share this project: