Duolingo is an incredible app, with a purpose to mimic college-level foreign language courses. And while that is certainly impressive, many people want to learn a new language just to be able to get around in a place, or even just for the fun of it. Our app, beURSAlingo, is almost a spin-off of Duolingo, but with a different purpose - to encourage casual language-learners to pursue their hobbies without the added stress of structured and rigorous language courses. The bear-themed app (Ursus, "URSA," is the genus of many bears) was intended to be much more of a comforting companion than Duo the owl, aiding in our goal of decreasing stress! We built this app using Java and Android Studio, creating a GitHub repository and pushing and pulling from each other's work to keep the momentum going. Still, though, we ran into quite a bit of trouble with GitHub - a few hours before the submission, when trying to do what was supposed to be our final commit, we lost about half our files because of how different the main branch was from what we were trying to push to it. We're proud to say we got it back up to almost what it was before in just under two hours! We wanted to make the app natural-language based more than written, trying to make it accessible to a variety of users with different schedules and lifestyles. However, we were unfortunately unable to meet this goal due to time restrictions and formatting difficulties.
There was a lot we both learned throughout the course of this project. We learned the importance of frequent merges to GitHub, as well as the importance of taking screenshots and having a Plan B at all times. I (Brinda) was stuck on debugging a single issue for around 3.5 hours last night, only to realize that I was running into the issue because I never initialized the ArrayList. Time is so important, but sometimes, the challenges that take us the most time might have the simplest fixes.
We utilized many tools, including Java (and its text-to-speech method), XML, Excel as our lesson database, Firebase to authenticate, and Figma for wireframing. I (Sneha) always start with wireframing, since I typically work on the front-end. Then I started designing in XML, while Brinda began linking activities. We worked simultaneously for this whole duration, to optimize our coding speed, and whenever one of us got tired with what we were working on, we would switch computers. However, this is where the issues with GitHub began - sometimes when I pulled Brinda's code, I would lose my design, and visa versa. We fought with GitHub until the end, growing so much along the way.
We have much bigger plans for beURSAlingo - the goals we were not able to implement today, which includes text-to-speech, interactive quizzes (they listen to the word in the language they are trying to learn, then input the definition in their own language next to it), adding more words into our database, and adding more languages as well. In addition, being able to mark lessons as complete, as that is a feature that is useful to keep users motivated.

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