While studying programming, I had always been interested in Japanese language education and dreamed of someday creating an application that combined learning with entertainment. That's when I discovered "pairs.one," a beautiful memory game open-source project on GitHub. This project was a multilingual multiplayer concentration game developed by Max Grjn, built with the Elixir Phoenix framework and Elm language.
When I first saw this project, I was impressed by its simple yet sophisticated design and the multiplayer functionality utilizing real-time communication. However, an idea was forming in my mind: couldn't this game be transformed into an educational tool for Japanese language learners?
I decided to fork the original project and add my own improvements to it. The first major change was renaming the project to "Memory Grid." This name conveys the concept of a memory grid, representing the image of learners memorizing kanji and Japanese vocabulary through cards arranged in a grid pattern.
The first technical challenge I tackled was optimizing Japanese character encoding and font display. To beautifully display the four writing systems of kanji, hiragana, katakana, and romaji, I spent considerable time on CSS adjustments and font selection. Particularly, displaying kanji legibly within card sizes proved to be more difficult than I had imagined.
What I focused on most was developing the theme system. While the original project had several themes, I added themes specifically for Japanese learning. I started with the "Animal Kanji" theme first. I created cards that combined familiar animal kanji like dog, cat, bird, and fish with their readings and English translations.
This theme system was expanded gradually. For beginners, I created kanji and hiragana pairs; for intermediate learners, kanji and romaji pairs; and for advanced learners, related vocabulary kanji pairs, allowing customization based on the learner's level.
The most memorable part of the development process was when I had actual Japanese language learners test-play the game. Watching them naturally murmur Japanese while playing, guess the meanings of kanji, and work together with friends to find answers confirmed that I had achieved my goal of "fusing learning with entertainment."
Currently, Memory Grid has 15 different themes implemented. It supports Japanese learning across diverse fields including animals, food, and computer-related terminology. Each theme has three variations - kanji, hiragana, and romaji - allowing learners to choose according to their level.
Through this project, I was able to deeply understand the power of the open-source community and the potential of applying technology to education. A small improvement that started with one idea eventually grew into a tool that helps many Japanese language learners, bringing me great satisfaction. I plan to continue improving functionality and developing it into an application beloved by even more learners.