-
-
Log-In Page
-
Sign-Up Page
-
Personalized Profile Page
-
Language + Level Selector
-
Lesson Landing Page
-
Speech-To-Text Microphone
-
Speech-To-Text Language Prompter
-
AI-Generated Topics
-
Norwegian Advanced Vocabulary Sets
-
Text-To-Speech Buttons That Play Audio
-
Example Sentences
-
Cultural Notes and Practice
-
French
-
Chinese
-
More Examples
-
More Examples
-
More Examples
-
More Examples
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
Log in or sign up for Devpost to join the conversation.