Inspiration
I speak multiple languages, I like games and building web application. So why not combine all three and make a platform where I can practice my linguistic skills? I wanted to build something light and fun, and this is a perfect project for me to learn how NLP models work and using different technologies together.
What it does
Main feature: Allows user to engage in a conversation with two different personas, who do not speak each other's language at all. User gets in-time feedback and replies from the personas to keep the conversation going.
Random Prompts: Users can get random prompts with the 'Random Prompt' button.
Random Language: Users can get random languages with the 'Random Language' button.
How we built it
The project architecture has two main parts: the backend server and the frontend server.
Backend server: built with Flask, written in Python. Python is the best choice because it has the best library for NLP models needed to build the chatbot as well as the translation between different languages.
Frontend server: built with React, written in JavaScript. I am more familiar with React than other libraries so it was easier for me to build the project within 2 days.
The communication between the backend and the frontend uses http request with the Axios library.
Challenges we ran into
I had a lot of trouble setting up the chatbot because it was my first time using DialoGPT. The chatbot wasn't responding very well and the response time was slow. I also had much difficult deploying the backend server because the dependency files are large.
Accomplishments that we're proud of
I was proud of myself to build a full-stack (even though it doesn't have a database because it doesn't serve a lot of purpose here) project, with two different languages. It has been a struggle for me to understand how to do that correctly, but I did it. I was also really happy that the chatbot and the google translation worked out well in the end. Even though it is only working on my localhost, it was fun playing with it.
What we learned
I learnt how to use a NLP model, make API calls, as well as setting up a formal project structure like this. I also learnt to be patient while debugging, and make sure to read documentations to figure out what I need to do.
What's next for TranslatorG
To perfect the chatbot, as well as have a light database just for users to save their favorite translation. I also want to support more languages, as well as have a feature for experienced translators to train users to be better at translating.
Built With
- flask
- googletrans
- javascript
- python
- react
- transformer[torch]
Log in or sign up for Devpost to join the conversation.