Inspiration

As language lovers, and very busy CS students with little to no free space for fun language classes, we are constantly disappointed about how hard it is to find language learning tools that are easy to use, quick, and speech/pronunciation focused. Duolingo is great (in spite of its recent, more-than-a-little creepy, animations), but lessons can feel tedious and the speech aspect is limited, especially for the free version.

What it does

Thus, LingoBuddy was born! A Gemini AI-powered, customizable, language learning platform that balances the importance of language immersion with having a strong vocabulary to provide context for realistic conversations. LingoBuddy will generate custom lesson plans, exercises, and grammatical explanations based on chat input in either English or the target language. Additionally, Gemini will provide pronunciation help for users on vocabulary cards and sentence examples.

How we built it

We used Next.js and bare-metal CSS for the frontend, Supabase for the database, and Python, FastAPI, and Gemini for the backend.

Challenges we ran into

Gemini is great, however, the free plan is limited in its ability to accurately pronounce words and phrases from languages other than English. Ideally, we would have also implemented a 'live conversation' feature, where users could have dynamic conversations with Gemini. Due to time constraints, lack of knowledge about speech parsing, and difficulty with the latency of Gemini to generate responses, we were unable to accomplish these goals, but would like to in the future!

Accomplishments that we're proud of

We are very proud of our UI - it's GORG. JK but not really. It did end up looking pretty nice, and we were able to overcome an unnecessary amount of difficulty implementing the typewriter animations, which was awesome. Additionally, as we are relatively new to project development, the custom login and AI integration features were very new to us, and we were able to get a (mostly) working product, which was also awesome.

What we learned

We learned a LOT, most of which is listed below (anything that is missed is a result of too much screen time and lack of bloodflow due to too little movement):

  • Authentication and data storage with Supabase
  • Web development with Next.js
  • Advanced CSS styling
  • Gemini text-to-speech integration
  • Gemini speech-to-text integration

What's next for LingoBuddy

Our most immediate next steps for LingoBuddy are implementing the 'live conversation' features for our project. Additionally, we would like to make the language learning features quicker by storing past conversations or questions in our database or adjusting the voices of the generated speakers' voices to sound more natural and native to the language. We would also like to expand the profiles/dashboards for each user by tracking their progress in each language, storing vocabulary they've learned, common mistakes, etc. The future is bright for LingoBuddy, and we believe it has a lot of potential to keep multilingualism alive and well!

Built With

  • fastapi
  • google-gemini
  • multimodal
  • next.js
  • speech-to-text
  • supabase
  • text-to-speech
  • uvicorn
Share this project:

Updates