Inspiration
The great thing about computer science is being able to create solutions to your own problems. Our problem was that in small foreign language classes, students don't have enough opportunities to practice speaking and conversing. (This was inspired by a real life experience of one of our members who was in a 12-person Japanese class.) To solve this, we created an AI chatbot that allows users to practice conversations in foreign languages.
What it does
When visiting our website, users are greeted with a series of prompts. These prompts are used to start a conversation with our chatbot. Users are then free to chat with the AI.
How we built it
The frontend of the website is made using HTML. We used Javascript to read in the user inputs and add animations.
The backend utilizes Google's Gemini API to power the chatbot.
Challenges + accomplishments
At the start of this hackathon, we had set out to make something entirely different (a collaborative canvas with augmented reality). Eventually, we realized that making something like that was out of our current scope and not a task for one weekend.
Thankfully, we pivoted and were still able to make something functional. A few challenges we ran into were learning how to use Flask, learning how to upload libraries, and learning how to connect a frontend and backend.
At the end of the day, we're proud of how much we were able to learn, and since both of us are beginners, making an actual product was a very nice surprise.
What's next
Right now, we only have the basic functionality of the chatbot. Going forwards, there are a number of features we can add:
- Feedback: When the user types something in, the chatbot would help correct any mistakes. For example, it might let you know that instead of "I go to store," you should say "I go to the store."
- Personal dictionary: When looking at the chatbot's responses, users would be able to click on words for definitions. Then, they could also save those words to a personal dictionary to reference later.
- Text to speech: Another important part of language learning is speaking and hearing, so users would be able to click a button to hear what the chatbot outputs.
- Annotations: Users could add notes to certain messages, so that when they are looking back later, they can remind themselves of words they forgot or anything else they need to know. -Prompt: The program could also use better prompts for the Gemini response, so that the responses will be better catered toward to what the user is talking about.
Built With
- flask
- google-gemini
- html
- javascript
- python
- render
Log in or sign up for Devpost to join the conversation.