Inspiration
Being a highschool student in Canada, I often find myself studying languages, whether that be English or French. However, when learning these languages, I noticed that there weren't any resources to help ease the hardest part of learning a language -- listening! Such resources, if they exist, are inconvenient for the user as they would need to annoyingly navigate to the page, register for an account, and, finally, pay a potentially outrageous toll just to learn the languages they love! Motivated by this, I set out to create LangBot.
What it does
LangBot is a Discord bot that helps people train their ears for a particular language. It works by requesting a language (only English currently, unfortunately) and a difficulty. It then gives the user an audio file whose difficulty corresponds to the difficulty chosen. The user then has 10 seconds to enter exactly what they hear, earning points based on how close the user is to the actual sentence.
How we built it
To build the framework for the bot, discord.py was used to communicate with the Discord API. To determine the actual answer for the audio file, AssemblyAI's voice-to-text transcript API was used. Finally, to store the user's progress, Cockroach Database was used.
Challenges we ran into
If I'm going to be honest, everything! Writing a Discord bot from scratch was a completely new experience for me, so even the installation progress has some hurdles. After that, I would say the most challenging part was performing database queries. Using Cockroach DB was a completely different experience from what I was used to, but thanks to the informative docs, I was able to finish the task.
Accomplishments that we're proud of
I'm most proud of completing an entire Discord bot in the span of 32 hours. It's been a project that I've always wanted to cross off, but I never found the opportunity to. Additionally, as this is my first time using environment variables to secure API keys as well as querying APIs, I am very proud of myself that it didn't go too terribly.
What we learned
Overall, I learned loads about discord.py and how useful of a library it is. I also learned great deals of information about Cockroach DB and AssemblyAI, both of which I will likely continue to use in the future for my projects.
What's next for LangBot
Currently, it only supports English, however I want to expand it to more languages. Fortunately, AssemblyAI supports French, so that will be an simple step forwards. I also want to add more audio files to allow users to have a stronger training without overfitting the audio files. Finally, I want to add a global leaderboard for users to show off their dedication and how much they've learned from LangBot!
Built With
- assembly-ai
- cockroach-db
- discord

Log in or sign up for Devpost to join the conversation.