Inspiration
I wanted to make something that was easy to use and could help people in some way. I also wanted to try working with Google Cloud in a new, creative way.
What it does
Rosetta Phone translates SMS messages that are sent from one user to another. Using a few simple delimiters to communicate with the program, you can enter one or more phone numbers and corresponding languages to converse with as many people as you want in as many languages as you want, all at once. You can talk to an entire group chat of people who speak different languages and no one has to stop to translate or look things up.
How I built it
I used Python/Flask to write my back end, the Twilio SMS API as a platform to send and receive text messages, and Google Cloud translation and language detection to translate messages in real time. I used regex and string splicing to isolate necessary information in received messages, wrote an algorithm to use the extracted information to send finalized messages, and implemented error handlers for edge cases.
Challenges I ran into
There were some limitations that I faced due to the constraints of each of the APIs. Twilio was not able to support certain special characters, either due to encoding limitations or through escaping certain characters, so some texts may not communicate quiet as effectively as they would be able to otherwise. Additionally, Twilio would not give me access to the senders' phone numbers when it received messages, so when sending messages to a group chat, I was not able to identify the sender.
Accomplishments that I'm proud of
In spite of having limited time to work due to homework and exams, I was able to finish and create a fully functioning program that met all of my expectations. I have never worked with Google Cloud translation before and found that I was able to get it to work in a timely manner. I created a lot of original code and used a lot of development techniques that fine tuned my algorithm and kept me from running into any major problems. This was also my first completely solo hack, and my most programming-heavy hack.
What's next for Rosetta Phone
Rosetta Phone's ability to let users communicate across language barriers opens it up for utilization in the business world, casually, and educationally. In the future, I would love to expand to email and instant chat.
Built With
- flask
- google-cloud
- ngrok
- python
- regex
- twilio
Log in or sign up for Devpost to join the conversation.