This hack was inspired by the international travel experiences of our team. We wanted to build an user-friendly and democratized tool that would provide instantaneous language translations for users even when they aren't near a Wifi source or have access to cellphone data. We also wanted to create something that would assist tourists and foreigners in connecting with locals more easily by providing an application that would translate universal phrases.

What it does:

Adele is a SMS language translator is the quickest way to get language translations via SMS. Any time. Anywhere.

How we built it

Our first step was to find out how to interface with Google's Translate API with Nodejs. Using Google's REST API for Google Translate and a REST client called Postman we figured out how to communicate with the Translate API. Next we had to communicate with Twilio's API to send and receive text messages. We essentially created a server with Nodejs that would listen on a certain port for messages from Twilio's API. We would then process the user's request via a call to the Google Translate API and send them a response. All the of programming was done in web with mostly JavaScript, HTML/CSS, jQuery. To remotely host the service, we used Linode's servers and ran the both the ngrok and node processes using the tmux command.

Challenges we ran into

When trying to interface with the Twilio API, we had to solve how to send and receive text messages. We were running two Nodejs servers at the same time, so no calls to the Twilio API were being sent/receive. In addition, we faced a challenge when trying to get data from the Translate API, as the data being sent from the Translate API was unusually formatted.

Accomplishments that we're proud of

Being able to send and receive text messages on demand with separate JavaScript functions. Finding a relatively simple format for users to send in queries.Configuring a Linux server and having the whole service run remotely.

What we learned

We learned that JavaScript's callback functions are useful and can prevent redundant from dirtying the code.

What's next for Adele

Natural language processing: being able to call Adele and get back a voice message that is translated Translating characters Better/more translations Faster service

Share this project: