All articles · Published 2026-07-24
How Handy 990 helps you learn vocabulary: from frequency ranking to memory algorithms
Every vocabulary book in the world shares one urban legend: the first word is "abandon" — and that is roughly where most people abandon it. That isn't your fault; it's a scheduling failure. Working from A to Z was always an overestimate of human nature. This article walks through the machinery we built instead: each piece solves one specific problem, and together they form a loop.
Three old problems
Open any vocabulary book and you hit the same three problems:
- Which words should I learn? English has tens of thousands of words; the exam draws from a far smaller pool. Spending an evening on
serendipityis romantic, but the TOEIC does not test romance. - Where do I start? You are not a beginner. Making someone who already knows two thousand words start "revising" from
ableon page one isn't revision — it's detention. - How do I stop forgetting? Memory decays, and it decays without the slightest remorse. Studying with no review schedule is a subscription that quietly refunds your work back to the void.
Handy 990's vocabulary module is built around those three questions. Here is each mechanism, and the trade-off behind it.
Frequency ranking: learn the words that pay
Our core deck holds 3,775 TOEIC core words, aligned with the mainstream TOEIC word lists. But which words is only step one. What actually decides your efficiency is the order.
Linguistics has a famous rule of thumb (Zipf's law): word frequency is wildly uneven — a small set of common words accounts for most of any real text. In plain terms, the return on investment per word varies enormously. A high-frequency word is a blue chip that shows up in every passage. A rare word is a lottery ticket: it might appear once in the whole exam, in the question you happened to guess right.
So we tag every word with its frequency rank from real-world corpora, then cut those ranks into difficulty bands: roughly 50 words per band, 76 bands for the current deck. Band 1 is the most common vocabulary; the higher the band, the more obscure the word. This "frequency = difficulty" axis is the shared coordinate system for everything that follows — the clinic searches along it, practice samples along it, the map is laid out along it.
One trade-off worth stating plainly: high frequency doesn't mean "easy", it means "common". But for exam preparation, commonness is a far more objective ordering than perceived difficulty — it maps directly onto the probability that a word appears on your paper, and probability doesn't negotiate.
Vocab Clinic: finding your starting point by binary search
With a difficulty axis in place, the next question is: where on it are you?
The conventional answer is a placement test — fifty multiple-choice questions in exchange for a vague label like "upper-intermediate". Our version is the Vocab Clinic, and underneath it is a binary search: yes, the same trick engineers use to hunt down a bug, except this time the thing being hunted is the edge of your knowledge.
- The app shows you a whole band of 50 words and asks you to tap the ones you don't know.
- How many you tap classifies the band: - 0 unknown → this band is kindergarten for you; jump to harder bands. - 1–5 unknown → the gap rate is just right. Congratulations, this is your knowledge boundary. - 6 or more → this band is hieroglyphics; fall back to easier bands.
- Converge by binary search. With 76 bands, that takes at most
rounds — usually a few minutes, not an hour-long exam. You can also tell your friends you determined your English level in logarithmic time, and watch the conversation end.
Once you're placed, the rules for applying the result are carefully chosen. Every word below your boundary is marked "known" and stops wasting your time — with one important exception: the words you tapped as unknown do not get away. They go straight to the front of your learning queue. The clinic is really you auditing yourself, and the holes you find are exactly the ones worth patching first; you don't get to point at them and then walk off.
There's one more safeguard. On a band judged "too hard", the words you didn't tap do not count as known. When six or more unfamiliar words appear on a page, what most people actually do is glaze over and move on — so only your taps count. The system won't vouch for a page you never really read.
"I know this word": the permanent block
The clinic handles known words in bulk; day-to-day practice always turns up a few stragglers. So every flashcard carries an "I know this word" button. Press it and that word permanently exits all of your practice, review and games.
This is Anki's suspend concept. For someone who already knows money, any algorithm that keeps serving them money is simply testing their patience. The block list syncs across devices, can be undone at any time, and every un-block carries a timestamp — so even when two devices merge their data, a word you unblocked never gets quietly re-locked. The deck does not hold grudges.
The block list looks like a small feature. In practice it's the strongest signal in the whole system: the familiarity model and the moving frontier in the next section are both built on top of it.
Word Sweep: housekeeping, but as an arcade game
The clinic blocks in bulk and the button blocks one word at a time — and both are, frankly, paperwork. Word Sweep is the same bookkeeping wearing a costume: words glide in at the top right, drift across the screen, drop a row, and wind back the other way, a slow conveyor snaking toward the bottom. Tap a word once and it pronounces itself. Tap it again and it bursts — marked as known, permanently out of your practice. A word you leave alone simply walks off the bottom edge, unchanged. Doing nothing is always safe: no word gets judged for merely appearing on screen.
There are two kinds of round, with one shared rule: tap the words that don't belong in the pool you're looking at. A sweep round shows the words you're still practicing, climbing level by level upward from your own — tap the ones you already know. A recover round is the mirror image: it shows only hidden words, walking downward from your highest hidden level — tap the ones you don't actually know, and they burst back into practice. Recover exists because the clinic hides everything below your boundary in one stroke: statistically sound, individually imperfect. And the wrongly hidden words cluster just under the boundary — exactly where a recover round starts.
The rest is tuned for idle minutes: rounds are counted in words (20, 50, 100, or all of them), speed has three settings, an optional switch pronounces each word as it enters, and the closing summary lists everything the round changed, with one-tap undo per word. It all writes to the same block list as everything else — the game keeps no score of its own. Its only scoreboard is your frontier.
Familiarity and the moving frontier: aim at the edge
The clinic runs once at the start, but your level changes every day. If practice drew words uniformly at random, a learner placed at band 30 would meet band-3 words and band-70 words with equal probability — the first is a waste of time, the second is psychological warfare.
Our answer has two layers.
The first layer is the familiarity model. For every word, the system derives a familiarity value on the fly, fusing every trace you've left — the block list, the memory state held by the review scheduler, your quiz and spelling answers, your game results, your flashcard views — into one of five states: unknown, seen, learning, known, mastered. The crucial part is that this value is always derived at read time and never stored. When the underlying data changes, familiarity simply follows; there's no stale snapshot left behind to argue with reality.
The second layer is the moving frontier. Your "current level" is likewise derived from the block list: the frontier is drawn exactly where known meets unknown. When practice picks words, it samples with weights centred on that frontier:
| Region | Sampling weight | Purpose |
|---|---|---|
| Bands well below the frontier | Low | Light maintenance — old friends only need the occasional hello |
| Around the frontier | Full | The main front — the words you're actually taking ground on |
| A little above the frontier | Medium | A first look, laying groundwork for the next level |
Because the frontier is derived rather than stored, it moves by itself: the more words you block and clear, the higher it climbs, and practice shifts its centre of gravity to follow. No re-testing, no extra "progress" state to sync. It just goes where you go.
When the system sees that you've broadly mastered your current level, it offers to graduate the band: the whole level is laid out for you, you tick the words you genuinely know and block them in one go, while the unticked ones get pinned for further practice. You press the button — the algorithm doesn't hand out diplomas behind your back. Its job is just to put the application form in front of you at the right moment, and to do so wherever you happen to be: on the home card, at the end of a review session, or on the map itself.
The vocabulary map: making progress visible
All of the above runs backstage. The vocabulary map brings it on stage: every word is a gem, laid out band by band in difficulty order, coloured by familiarity — from the dark tones of unknown to the bright ones of mastered — with your frontier line running across it.
This isn't only decorative. "3,775 words" is a number that induces mild nausea; "the lit-up region of my map grew again this week" is a feeling. At a glance you can see which bands are fully lit, how far the frontier has advanced, and which gems are still dark inside otherwise-known territory — those are the pinned words, the holes you're still patching, like a handful of unflagged corners on an explored map. It makes your fingers itch.
Tap any gem and it also tells you why it is that colour — you missed this two days ago, due for review tomorrow, seen six times in flashcards. The colour is the system's conclusion; this is the evidence it reached it from, and you are entitled to both.
The map doubles as a launchpad: every level row carries a small gamepad button that starts a Word Sweep round scoped to exactly that level — spot a band that needs housekeeping, and sweep it on the spot.
Smart Review: leaving the timing to a memory model
Finally, the fight against forgetting. We didn't invent our own review folklore; we adopted one of the best-performing scheduling algorithms in the open literature: FSRS (Free Spaced Repetition Scheduler) — the memory model behind next-generation Anki — in its latest revision, FSRS-6.
The idea: every card maintains its own estimate of memory strength. Answer correctly and the strength rises, pushing the next meeting further out — days, then weeks, then months. Answer wrong and the estimate is revised; that card comes knocking again soon. The system always schedules a review for the moment when you are about to forget but haven't yet — the sweet spot where a review buys the most. Earlier is waste; later is relearning from scratch.
The interface is deliberately restrained: once a card is revealed there are just two main buttons, Again / Good (plus a secondary Easy). No wall of four Anki keys — memorising a word shouldn't require passing a UI exam first. At most 20 new cards enter per day, and that cap is intentional: it stands between you and a 3,775-word deck, so that day one's grand ambitions don't become day three's silence. Those new cards arrive in difficulty order, starting from your own level — so "today's new words" really are the next ones in line, not a random draw from the whole deck. Once the day's reviews are cleared, if you're on a roll, Infinity Mode lifts the daily new-card cap and lets you decide how far to go.
And one design detail we're quietly proud of: review doesn't only happen inside Review. Every answer you give in the vocabulary quiz, the spelling drill, and phrase practice feeds the same scheduler. A word you just got right in a quiz has its next review pushed back accordingly — the system knows you've just seen it, and won't serve it again tomorrow pretending you've never met. And when you get one wrong, the app now says so on the spot: added to Smart Review. That chain was always there; it just used to happen in silence, which is nearly the same as not happening at all.
The supporting layers: making each encounter stick
Scheduling decides when you meet a word; the quality of each meeting matters just as much. Memorising a bare word is like meeting someone with no mutual friends and no online presence — you'll forget them by Friday. So every flashcard stacks several layers behind it, giving each word more hooks to hang on:
- A full dictionary layer: multiple senses, parts of speech, inflected forms, an example sentence per sense, each with a translation.
- Etymology, roots and affixes: learn
spect("look") once andinspect,prospectandspectatorall become relatives of someone you know. - Collocations:
meet a deadline,place an order— the TOEIC often tests not the word, but the company it keeps. - Three accents: hear each word in US, UK and Australian English — precisely the three voices that take turns on the listening test.
- Memory illustrations: over 96% of words carry a small situational picture, a hook for visual memory.
- Spelling practice and PDF export: if you'd rather write by hand, or print a set to flip through on the train, there's an exit for that.
The learning path: one next step at a time
Everything above is a mechanism, and mechanisms accumulate. Line up a clinic, a quiz, a spelling drill, flashcards, a glossary, a review queue, a map and a game on a single screen and you have quietly swapped the question which word should I learn? for which button should I press? — a worse question, and one we created ourselves.
So the vocabulary section now opens with one card that names exactly one next step, and never more than one:
- Nothing studied yet → find your level — the clinic, three minutes
- Reviews waiting → review those words
- The level looks mastered → graduate it
- Nothing due → learn today's new words; and when even those are done, nothing at all
The order is not arbitrary. Reviews outrank new words, because a review you postpone is a word you are actively losing, whereas a new word you postpone is merely a word you don't know yet. Graduation outranks new words too, for a less obvious reason: graduating moves your frontier, so the new words introduced afterwards are drawn from the level you have just unlocked rather than the one you have already finished.
The card also carries your level, and beneath it a bar. The two deliberately measure different things. The level rises only when you graduate a band — by design, since we would rather you certified your own knowledge than have an algorithm promote you behind your back — which means it can sit still for a week while you work hard. The bar is the part that moves daily: it is the share of your current level that has turned green or gold. Reviewing fills the bar; graduating converts a full bar into a level. If you have ever studied for a week and watched a progress number refuse to budge, that gap is precisely what the bar exists to close.
And if you would rather see the whole route at once, the headings are buttons: tap Vocabulary, or the journey card's own title, and the full path opens as a page — the steps in order, where each drill draws its words from, and what each of your actions actually changes.
The design philosophy: one loop, not a pile of features
Seen together, these mechanisms are segments of a single loop:
Frequency ranking defines the road worth walking → the clinic finds your starting point → the moving frontier keeps practice landing where it pays most → blocking and graduation plant flags on captured ground and push the frontier forward → FSRS review holds the territory behind you → the map lets you see all of it → and the learning path makes sure that, on any given day, you know which of these it is your turn to do.
Three principles run through it: never waste what you already know (blocking, the clinic, cross-practice signals), concentrate fire on the frontier (the frequency axis, weighted sampling, graduation prompts), and leave memory to a validated model (FSRS, not a gut feeling about "ten words a day"). A fourth had to be added later, once the first three had produced enough machinery to get lost inside: always name the next step.
And the usual honest caveat: every derivation runs on your own device, the clinic can be re-run whenever you like, and any block can be undone. Every judgement this system makes is grounded in your behaviour, and you always keep the right to overrule it. The algorithm's job is scheduling; the one who actually remembers these words is, from beginning to end, you. It just makes sure that this time, you don't stop at "abandon".