1K Words
Year
2023
Programs
- HTML, CSS & JS
- Django & Python
- React
1000 words to mastery
I wanted a quick and easy way to learn and practice languages. The app is built around the theory that learning the 1000 most common words of a language provides about 75% fluency. Currently flashcard based, I plan on adding more features including alphabets, pronunciations, and regional dialects as well as optimizing it for mobile.
From the beginning I knew I wanted the language selection to be done via a world map. After trying to create my own SVG I learned about react-simple-maps. With this library I was able to create and customize a fully interactive map.
Upon selecting the desired language, the user is directed to the Language Screen. Currently this screen consists of 10 random words from the given language. Each word is a card element that can be flipped with a click. In the future I hope to build this page out further to include more language information, country information and more visuals.
Clicking 'Start Learning' will take you to the Word Screen which contains the flashcard element for a random word. This screen also displays the current user's current score for the word displayed out of 10.
When the card on the Word Screen is clicked, it will flip revealing the translation. Additionally two buttons are displayed in order for the user to select whether they knew the word or not. With each 'Correct' button click one point is added to the user's score for the word and a star is filled in the rating element. Currently the app only supports English language translations, but more native language support is in the works.
I wanted the ability for users to be able to track the languages they are learning and view the words they have mastered. For this I created a profile page that displays all of the user's information. Here a user can update their authentication information, view the languages they are learning and which words they have mastered.
In the future I would like to incorporate a section for words that the user often gets incorrect. I have also considered adding a travel tracker element to app to gamify and integrate travel with language learning. Ultimately I would like the app to provide users with a fully realized travel app that includes travel information, guides, language learning and more. To truly get the most out of the world one should experience it first hand, and there is no better way to immerse yourself in a place or a culture than by speaking the language. It is my goal to provide insight, inspiration, and to bring people together around the world.