Inspiration
Learning new languages can be difficult. For me, I am learning Japanese, and the most difficult part is the listening comprehension. Textbooks cover limited topics. Most websites do not have comprehension questions. News articles can become difficult to understand. Voice-overs are machine-generated and unnatural. This inspired me to create an app to address these pain points to help with my Japanese learning.
What it does
This app targets language learners who want to improve their reading and listening comprehension skills. Online news articles are scraped daily and sent to ChatGPT to generate questions, translations, and voice-overs. We can learn and improve our reading and listening comprehension skills with a wide range of topics. There is also translation by the side for convenience. The voice-overs are also more natural and closer to native speakers.
How we built it
The application runs on a serverless architecture on AWS. Lambda is triggered daily using Cloudwatch Events to scrap online articles. The article is sent to OpenAI to generate questions, translated text, and voice-overs. The audio is saved on S3 and can be publicly accessed. The generated data is saved in MongoDB. The lambda is exposed via API Gateway as a RESTful API to allow the frontend to invoke the API and fetch data. The infrastructure is configured with Terraform.
Challenges we ran into
I want to have this project continue running after this Hackathon with minimal cost to help me with my Japanese listening comprehension. However, I do not want to spend a lot of money on servers and databases. Hence, I developed my software to run on Lambda and exposed the service with API Gateway as RESTful API to make use of the free tier limits. The running cost is contributed by ChatGPT only, assuming I do not cross the free tier limits.
Accomplishments that we're proud of
I am proud that I managed to develop the app that I envisioned to aid with my Japanese reading and listening comprehension. I am also happy that I managed to integrate ChatGPT into my project and deployed the app live with minimal operation costs. I also spent a lot of time improving the website to make it more user-friendly.
What we learned
I learned how to create prompts for ChatGPT to generate questions and translations from articles. I also learned that OpenAI has text-to-speech functionality, and I had the chance to experiment with it in this project. I also learned various free tier limits for Lambda, API Gateway, and MongoDB and designed an infrastructure to work around these limits.
What's next for RoboTeacher
The next step for RoboTeacher is to create questions with varying difficulty to challenge learners of all levels of proficiency and extend to other languages to help with language learning beyond Japanese and English.
Built With
- amazon-web-services
- chatgpt
- python
- react
- scraping
- terraform
Log in or sign up for Devpost to join the conversation.