From Slow Dictionary to Two-Phase Lookup
Word Holder is still a hobby project — just one that has run slightly out of control. It started as a simple idea: make it easier to remember the words you look up while reading in another language. But once AI coding agents made it possible to build new features much faster than before, the project started evolving quickly. What used to feel like a weekend experiment slowly turned into a real product with a website, quizzes, a browser extension, and several generations of word lookup behind it.
One of the biggest challenges has been something users immediately feel but rarely think about: how fast a definition appears after you click a word. If word lookup is slow, the whole reading experience becomes annoying. You stop reading, wait for the answer, lose the flow of the sentence, and the tool starts feeling like friction instead of help.
Word Holder has now gone through three different stages of solving that problem: a static paid dictionary service, then OpenAI-powered definitions, and finally a two-phase lookup system that tries to combine speed with richer explanations.
Version 1: A Traditional Paid Dictionary
The first approach was the obvious one: use a commercial dictionary API. This worked quite well. The definitions were solid, the responses were predictable, and the whole thing behaved like a normal dictionary should.
But there was a downside. Every lookup had a direct cost, and the service Terms of Use prohibited caching. For a language-learning tool where people may look up many words in a single reading session, that gets uncomfortable quickly — especially for a hobby project that is not making money.
So while the user experience was decent, the economics were not.
Version 2: Replace the Dictionary with OpenAI
The next step felt exciting. Instead of relying on a paid dictionary service, Word Holder started using OpenAI to generate definitions. This immediately made the product more flexible. AI is good at explaining not just isolated words, but also phrases, expressions, and subtle distinctions in meaning.
For the maintainer of the site, this looked like a big improvement. But it introduced a new problem: lookup became too slow.
Even if the answer was short, waiting for an AI-generated explanation is very different from getting a near-instant dictionary result. When you are reading online and quickly selecting unfamiliar words, even a delay of a second feels surprisingly long.
The result was that Word Holder became more intelligent, but less pleasant to use. The answers were often better, but the reading experience was worse.
The Realization
The important realization was that when people click a word while reading, they usually do not want a miniature essay. They just want enough meaning to keep going.
Most of the time, a learner does not need a full explanation immediately. They need something short like:
infatti → indeed, exactly, of course
or:
hablar → to speak
That is usually enough to understand the sentence and continue reading without breaking concentration. The fuller explanation is useful too — just not at the exact first moment.
Version 3: Two-Phase Lookup
That led to the current solution: two-phase search.
Now, when you look up a word in Word Holder, the app first tries to show a very short meaning as quickly as possible. That quick answer is meant to be just enough to let you continue reading.
Then, in the background, Word Holder prepares a richer explanation. If it becomes available, you can open it with an Extended button.
In other words, the tool now works in two steps:
- Fast first answer so reading stays smooth
- Richer explanation later for learners who want more detail
This turned out to feel much better than waiting for the "perfect" answer every time.
Why This Feels Better
The change sounds small, but from the user's perspective it is a big difference.
Before, you clicked a word and waited.
Now, you click a word, get an immediate clue, and keep reading. The deeper explanation becomes optional rather than blocking.
That is much closer to the experience I want Word Holder to have: helpful, lightweight, and respectful of reading flow.
A Hobby Project That Got Bigger
One funny part of this story is that Word Holder is still, technically, a hobby project. But it less and less behaves like one.
AI coding agents have changed what "hobby project" even means. Features that would once have required a long stretch of focused development can now be prototyped much faster. That makes it much easier to try ideas, replace entire parts of the system, and keep iterating.
That is partly why this project has grown so much. It became easier to say "what if I also add this?" — and then actually build it.
So Word Holder remains a hobby project, but one that keeps expanding because the cost of experimentation has fallen so dramatically.
Under the Hood: Kaikki and Open Data
A key piece of the two-phase lookup is a dataset called Kaikki — a structured extraction of Wiktionary data maintained by Tatu Ylonen. Kaikki provides machine-readable dictionary entries for dozens of languages, including lemma forms, parts of speech, inflections, translations, and more. It is an incredible resource, and Word Holder owes a lot to it.
The fast first phase of a lookup relies heavily on Kaikki data. When you type a word, Word Holder can immediately check whether the word exists, what its dictionary form is, and what part of speech it belongs to — all without calling any external API. This is also what powers the autocomplete feature: as you type a word in the search box, suggestions appear instantly because they come from a local index built from Kaikki.
Kaikki data also opens the door to features that are not implemented yet but feel within reach. Verb conjugation tables, for example, are theoretically possible because the dataset includes inflection data. The same goes for noun declensions and other grammatical forms. Whether and when these become part of Word Holder is an open question, but the data is there.
I am grateful that projects like Kaikki and Wiktionary exist. They make it possible for a hobby project to offer dictionary-quality data without paying per-lookup fees or relying entirely on AI generation. The combination of open linguistic data for speed and AI for depth is what makes the two-phase approach work.
What Word Holder Is Trying to Do
At its core, Word Holder is trying to solve a very simple problem: how do you remember the words you actually encounter while reading?
Many language learners read articles, websites, books, or online texts, look up words as they go, and then forget most of them later. Traditional flashcard systems can help, but they also introduce overhead: creating cards, organizing decks, managing review sessions.
Word Holder tries to remove that overhead. You look up a word, it is saved automatically, and later the app can turn your looked-up words into quizzes.
The browser extension makes this especially convenient because you can look up words directly on the page you are reading. But the extension is optional — you can also type or paste words directly on the site.
Why the Lookup Change Matters
The new two-phase search matters because it brings Word Holder closer to the ideal experience: a tool that helps you while staying out of your way.
If a vocabulary tool interrupts reading too much, people stop using it. If it feels immediate, learners keep going, and that is when vocabulary collection starts to happen naturally.
That is the balance I am trying to reach: enough intelligence to be useful, enough speed to feel invisible.
Still Evolving
I doubt this is the final form of Word Holder's search. Hobby projects rarely have a "final form," especially once they get momentum.
But the move from paid dictionary service, to OpenAI-only lookup, to two-phase search feels like real progress. It is not just a technical improvement. It is a user experience improvement.
And that matters more.
If you want to try Word Holder yourself, you can use the website directly or install the browser extension and look up words while reading online.
Read also
- Why I created Word Holder — the story behind the app
- Bye Bye Lexicala, Hello OpenAI — how we switched to AI-powered definitions
- Word Holder vs Anki — a simpler alternative for language learners
- Explore vocabulary trainers for Italian, Spanish, French, German and Dutch