We recently wrote about why your vocabulary is a network, not a list — the fifty-year-old research consensus that words live in your head as a connected web. This post is the other half: what we actually built to match that shape, and the concrete decisions behind it.
Which words made the cut — and why frequency beats textbooks#
Each language's graph holds roughly 3,000 words. That number is not arbitrary: vocabulary-coverage research (Paul Nation's work most famously) puts the most common ~3,000 word families at about 95% of the running words in typical text — the threshold where reading starts to flow instead of feeling like decoding. A graph of that size covers the vocabulary a learner from A1 up through B2 actually meets.
The selection comes from real usage: film and TV subtitle corpora — millions of lines of real dialogue — merged with our curated word packs. Frequency-ranked speech data has a property textbook lists lack: it reflects what people actually say, so conseguir (to manage to, to get) ranks where it belongs — far above tidy textbook staples that rarely appear in real conversation. The raw corpus data is messy, though: it arrives as inflected surface forms (necesito, not necesitar) plus names and noise, so every candidate is cleaned and reduced to its dictionary form before it becomes a node.
The six connection types#
Each word connects to its neighbors in up to six ways, each earning its place with a different future job:
| Connection | Example | What it's for |
|---|---|---|
| Word family | comer → comida, comedor | Knowledge transfers along roots; families make new members cheap to learn |
| Synonym | feliz → contento | Meaning alternatives; depth of knowledge |
| Antonym | feliz → triste | Contrast pairs, natural quiz material |
| Confusable | puerto ↔ puerta | The pairs learners mix up — to keep apart early, contrast later |
| Topic | comer → cocina, almuerzo | Words that occur in the same situations |
| Similar | comer → cenar, almorzar | Semantic nearest neighbors, computed from meaning, not spelling |
The confusable edges deserve a special note because they encode the interference research directly: words that look or sound alike (pero/perro, hombre/hambre) are precisely the ones that should not be introduced in the same session, and should be deliberately contrasted once you keep confusing them. Mapping those pairs per language is what makes either behavior possible.
The inflection index: why despierta now counts toward despertar#
Real learners meet real text, and real text is inflected. You save despierta from an article; the dictionary form is despertar. Treat those as unrelated entries — which is what a flat word list does — and your knowledge fragments across rows.
So each graph ships an inflection index: a mapping from common surface forms to their dictionary forms, built from the same usage corpora. Across the 17 languages it holds about 34,000 mappings, and the per-language counts read like a tour of world morphology:
| Language | Form mappings | Why |
|---|---|---|
| Finnish | 2,912 | Fifteen noun cases will do that |
| Serbian | 2,894 | Full Slavic declension |
| Russian | 2,775 | Declension + verbal aspect pairs |
| Turkish | 2,731 | Agglutinative suffix chains |
| Spanish | 2,217 | Rich verb conjugation |
| English | 1,295 | Plurals, -ing, -ed — comparatively tame |
| Japanese | 536 | Verb forms; much meaning carried by particles |
| Chinese | 339 | Barely inflects at all |
Because the mappings are learned from usage rather than derived from spelling rules, they catch the irregulars that break every rule-based stemmer: Italian va → andare and detto → dire, Spanish fue, French eu. Mastery of any form credits the family's dictionary form — the "parent terms" approach that tools like power users of jpdb and LingQ-style readers have long asked for.
Your layer: mastery, computed on your device#
The shared graph is the map; your knowledge is the overlay. LingoBlend already records how every review goes in the spaced-repetition games — that history classifies each of your saved words as new, learning, young, mastered, or struggling, using the same scheduling data the games run on.
Three practical properties of that design are worth stating, because they are the opposite of how "AI features" usually work:
- No AI at runtime. All the intelligence was spent once, while building the graphs. In the app, everything is a lookup — instant.
- On-device and offline. Your knowledge overlay is computed on your phone from data already there. The shared map is downloaded once and cached.
- Zero added cost. Nothing about the graph makes the app slower or more expensive to run — for you or for us.
What it unlocks#
Today the graph is infrastructure — you will not find a "graph" screen in the app, and we think that is the right call (learning platforms that shipped literal graph visualizations, like Khan Academy's old knowledge map, ended up retiring them). What you will see instead, as we roll out the features built on it:
- Blends that know you. Text blending spends a limited budget of translated words per text; mastered words are wasted slots. The graph's mastery layer lets blends skip what you already know.
- Frontier recommendations. Instead of a generic frequency list, next-word suggestions can come from your frontier — words one connection away from your strongest vocabulary, where the research says learning is cheapest.
- Interference-aware sessions. Keeping puerto and puerta out of the same introduction session, then contrasting them head-on once one is solid.
We will write about each of those as they ship. For the research grounding behind the whole approach, see the science page, or start with the network model of vocabulary that motivated all of it.