Inspiration

Learning new languages is an amazing way to keep one mentally sharp, meet and connect with new people, and even delaying Alzheimer's. But learning a new one can be a daunting and seemingly unattainable challenge. To this end, we created LanguageShare, a platform where individuals can hold themselves accountable by teaching each other new languages, and utilizes the power of AI to create an accessible and user-first interface that prioritizes connection and learning.

What it does

LanguageShare is a React web application which is used for individuals to learn a language of their choice and teach someone their own. We assign users an ELO score and match individuals on criteria of score and language(s) of choice that they wish to learn. Once users are connected, they are placed in a video call with AI-driven live transcription and translation, so that the two users can teach each other their language and have captioning on the side to help them learn and understand new phrases and words.

How we built it

We built the application with React, JavaScript, and TypeScript. For video conferencing, we used VideoSDK, a web RTC-based video conferencing library, and we combined Google Cloud's Speech-to-Text and Translation API's for our live, AI-driven transcription and translation functionality. On the backend, we used Express.js and Socket.io to connect and store users, and designed and implemented mathematical and greedy algorithms to assign users accurate ELO ratings and match them appropriately.

Challenges we ran into

Our biggest challenge was sending the audio to the Google Cloud API's in an appropriate format to then be transcribed and translated. Getting the API output to then appear in a readable and concise manner on our UI was also a big challenge.

Accomplishments that we're proud of

We are proud of getting all our different components working together and to have accurate and real-time translation working effectively in the frontend.

What we learned

We all learned much more about web development, React, and building video conferencing applications, which none of us had any prior experience with.

What's next for LanguageShare

  • Adding support for more languages
  • Streamlining the UI and user-profile creation process
  • Allow users to rate each others fluency after calls, leading to more nuanced ELO rating calculations
  • Live Chat features during calls
Share this project:

Updates