At such an international university such as Warwick, I've come across many non-native English speakers who'd prefer to communicate in their own language. But, what if every native language speaker could communicate in their own language with others?
What it does
Behold! Intertext allows you to have an SMS conversation - each recipient can send texts in their own language, and they'll be translated to the reader's correct language automatically.
Simply text +441672500046 a message in the format of
TO +7708248812 IN fr, where the number is the person you'd like to have a conversation with, and
fr is the language you know they speak.
You can then start having a conversation with the service number, and it'll automatically translate and forward any messages you send to them, and vice-versa.
How we built it
Twilio was used to process incoming SMS messages, which were passed to the Yandex translate API, via our backend, Node.js. Postgres was used to persist the languages of users once they'd begun their conversations.
Challenges we ran into
- The only way to provide a service like this was for both messengers to communicate via the service number
- How could we know what language a recipient would want an initial SMS sent to them translated in? We used the
IN <langCode>syntax to allow the sender to specify the recipient's language if they know it.
- Multiple conversations via the same number didn't appear to be possible via this route
- Google translate was not a free API.
Accomplishments that we're proud of
The service as it is works fairly smoothly for one such conversation per person via the service number, and provides a reasonable translation.
What we learnt
- Google translate costs money
- Yandex provides a pretty decent replacement for free
- Processing incoming SMS messages
What's next for Intertext
- One-to-many conversations from the same phone number (currently you can only establish a session with one other)
- More metadata about the session being communicated in a human friendly manner to both parties
- "Commands" to change the preferred language
See usage, but essentially text +441672500046 with "TO in " and then start sending them messages for it o be delivered to them