Dissecting Linguapon Part 2
Posted on 6/4/2025
10 minute read
Linguaponearners! Welcome to the second instalment of Dissecting Linguapon.
In this series of blogs, I'll dive into the details of Linguapon's learning modules. For each module, I will talk about the idea and the methodology behind it, some technical detail, the vision and how it links back to the four challenges that guide Linguapon's direction, as described back in the first blog.
There are four key modules to Linguapon: Explore, (Translation) Bank, Test Me and Community. In this instalment, I'll talk about the (Translation) Bank component.

The Idea
Most learning platforms share a common feature: a central place where users store their favorite nuggets of information. The Translation Bank fills this role, serving as the intermediate piece between two other core components of Linguapon: Explore and Test Me. I encourage interested readers to revisit Dissecting Linguapon Part 1 to learn more about Test Me.
Anecdotally, it's like a shopping trip. You buy your groceries from the supermarket, then come home to analyze and process them (…before realizing you bought the wrong type of potatoes…). Similarly, the user reviews their saved words and sentences (which we simply label as "translations") before deciding what to do with them. The Translation Bank also provides a set of tools to manage these translations and learn more about the saved vocabulary.
The Methodology
The Bank consists of several vertical columns representing language groups. These are called language panels, and they house saved vocabulary specific to that group. The vocabulary is displayed as interactive cards, consistent with the design across the rest of the platform.

Each card is interactive. Clicking on a word, whether standalone or part of a sentence, opens the Word Insight menu. Within this menu, users can immediately access several insights:
The first tab displays notes on the word's grammar, usage, and relevant cultural context.

The second tab allows users to explore the word's usage in real sentences, following a flow similar to the Explore component.

The third tab presents the user's personal knowledge stats related to the word, derived from their results in Test Me.
Note: The Proficiency Score is a primary indicator of how well the user performs on questions about that word in Test Me. A score closer to 100 means the user has a stronger grasp of the word. You may also notice color-coding differences across the platform. More on that later.

Outside the Word Insights menu, the Translation Bank gives users full control to manage their Bank efficiently. For example, the Collections feature, shown here with the Collection panel and controls, categorizes saved translations into sublists.

Premium users can create, edit, and even share collections. Picture a teacher preparing a lesson: the teacher compiles a vocabulary collection to share with students. Students, in turn, can save relevant vocabulary from that collection for further practice.

A prominently placed search bar at the top of the Bank allows users to search by source language, translation, or even romanization. This is essential for quickly locating terms, especially for users with large Banks.

Speaking of large Banks, I encourage users to stay on top of their learning habits - which is why deletion is designed to be a smooth process. Tied into the proficiency system mentioned earlier, the Smart Cleanup feature recommends cards that are already learned and ready for deletion.

Technical Details
Database Calls
The Translation Bank was one of the first features I developed for Linguapon, and fun fact, it was the first practical use of persistent data storage (well… second, after authentication).
Translation data is stored in a database collection, with models linking them to the user account via IDs. Collections are separate objects that house the IDs of the translations they contain.
When the Bank page is accessed, multiple database calls are made: fetching all saved translations, all collections, user preferences, and knowledge data. Some of these calls occur sequentially, for example, fetching translations triggers the next call for related knowledge data.
The Bank groups these responses so that each language panel can correctly render the appropriate cards. After the knowledge data arrives, words are color-coded according to the user's proficiency.
- Red indicates “not yet learned” (proficiency score < 45).
- White indicates “learned” (proficiency score ≥ 45).
Performance & Bank Size
Premium users can save up to 500 translations at one time; free users are limited to 10 (these figures are subject to change). The translation cards use a virtualized list, meaning only cards visible in the scroll window are rendered, helping improve performance greatly. A crucial optimization for mobile devices.
However, the volume of metadata associated with each translation and knowledge data can still consume more memory than ideal.
Therefore imposing a limit on saved translations helps control memory usage and database load, preventing the Bank from becoming sluggish or unusable. It also encourages better review habits. After all, having 10,000 saved translations isn't helpful if most of them were reviewed long ago.
Users are encouraged to regularly clean up using the Smart Cleanup tool for a smoother experience.
The Callback
Since the first part of the Dissecting Linguapon series, I've implemented the knowledge system, which tracks a user's performance on vocabulary in Test Me and distributes that information across the platform. This greatly enhances the Translation Bank's utility, allowing users to identify unlearned words and manage their Bank more effectively. This level of personalization is a key upgrade to the user experience.
The Bank also allows both individual translations and entire collections to be shared. This unlocks community-driven learning. For example, tutors can assign collections as lesson material or homework. Students can then save the words they need and review them later in Test Me. I believe the Translation Bank plays a critical role in fostering community learning on Linguapon.
The Vision
The Translation Bank has already fulfilled the vision I had from the start: to serve as a central hub where users study the vocabulary they saved for later. But that doesn't mean I'll be taking my foot off the gas!
In the near future, I expect to make incremental enhancements that improve the user experience or support new features. Some ideas I currently have include:
- A focus mode that eliminates distractions from the Bank interface
- Additional tools for teachers to use during live lessons
Thank you for reading, I hope you make the most of the Translation Bank!
Written by Elvin, Linguapon Admin