With the world starting to open back up, now is a great time to start learning new languages. As the both of us are language learners ourselves, we were both looking for a fun way in which we can learn our vocabulary.

What it does

The android app is a game, which picks 10 random words and their translations from a database of thousands of words (you can choose the language at the start of the game, currently only Spanish, Italian, and Russian is implemented). The words are then drawn in a random position in a 360 degree circle around you. The goal of the game is to match all of the words by tapping each one, and then tapping on its translation. At the end of the game, a leaderboard (powered by a server on Google Cloud) displays the top scores.

How we built it

The application is built using Android Java. We collaborated through the use of Github. The server is developed in Java, and was uploaded to a Google Cloud Virtual Machine instance. The website is written using html/css/javascript, hosted on Github Pages, and linked to the domain "".

Challenges we ran into

The Android rotation sensors were highly complex, and thus very difficult to implement correctly, as often they would have unpredicted behaviour that would change, depending on which pole you were facing. Tapping on the words was also initially a challenge, as their location was highly variable, so the coordinates were difficult to calculate. The device couldn't connect with the server once the server was uploaded, until such time as it was discovered that an inbound firewall rule needed to be created. The final challenge was linking the domain to the webpage, which seemed to be failing without explanation. As it turns out, this last one was resolved with patience.

Accomplishments that we're proud of

We've managed to develop a full game, which uses motion controls and semi-augmented reality, and even connects to a cloud server in order to run the leaderboard. The app has been designed well enough so that it can be modified very easily to add an unlimited number of languages. We even managed to make a website, linked to a domain.

What we learned

We learned how to work with motion controls in order to rotate around a full 360 game environment, how to use google cloud in order to create a game server on which to host a leaderboard, and how to link a domain to a github pages site.

What's next for Mocab

We're considering more development in the future, in order to refine some bugs and make it more polished, perhaps with a full release later on. More languages will definitely be added (and thankfully this is easy to do).

Share this project: