Elle - Easy Learning, Language Exchange
Everyone has experienced the language barrier at some point in their lives: some of us want to learn to speak another language, and some of us want to talk to people who speak another language. We wanted to build a platform to help people overcome this language barrier.
We were inspired by Omegle, a popular text and video-based chat application that connects strangers across the internet and gives them the chance to speak to one another. Elle was going to be taken further to allow meaningful conversation between any two users.
What It Does
Elle takes chat many steps further by allowing users to choose the language they speak and the language they would like their partner to speak, providing real-time, in-line translation functionality, hover over translations, and a clean and simlpe UI system.
How We Built It
We built it with EAN stack - MEAN without MongoDB. We don't collect data or store users since everything is generated as a user enters a room and disappears as they leave the room.
We built an Angular frontend in Angular 2 with a focus on material design.
We built an Express server in Node.js that is deployed to Heroku. The real-time messaging functionality used socket.io, a Node library for bidirectional event-based communication. Microsoft Cognitive Services were used to translate the incoming text, and play sound clips of the messages.
Challenges We Ran Into
The usual suspects - little documentation where you needed it most, code that just never worked until you ran it again and it worked...
We had a hard time getting the data from Microsoft Cognitive Services and converting it into what we needed. Specifically, we couldn't figure out how to convert the 'mp3' format response from Bing Speech API into something our web application could play for the longest time.
Accomplishments That We're Proud Of
We are four new friends who went outside of our comfort-zone to build something awesome. We felt this project could have been a reach before we started, but it turned out awesome! The biggest accomplishment was getting everything wired up together and seeing it work - since we went off into our design, frontend, and backend teams and hoped for the best.
What We Learned
We learned how to deal with APIs asynchronously, deploy to Heroku (sort of), and a bunch of new features of Angular and Express.
What's Next For Elle
Full-deployment to the cloud, group rooms and rooms with friends, fix the text-to-speech bugs, code the entire project in another language we learned using Elle.