Skip to main content
Why I created Word Holder
27 Apr 2024

I started Word Holder for myself to keep track of new words while reading Italian texts.

I love learning languages. I am not speaking any language beyond my native Bulgarian at native level, but I manage with English and Dutch in my daily communication. I've read a lot of books in Russian, and I am somewhere between beginner and advanced in Italian, Spanish, French and German. My short adventures with Chinese and Japanese have delivered little more than a few funny holiday interactions. Anyway, I have spent my share of time on language courses and dictionaries.

The first step for me is always following some course - a book or an audio course. There's always an accompanying glossary of the new words from every lesson. Learning words requires repetition and just going through the list helps to spot words that I have failed to memorize. Then I can have a quick look at the word definition or its usage in the lesson.

Tracking the learned words

A course is a good starting point, and at some point more interaction with the studied language takes place. Newspaper articles, movies (preferably with subtitles), books - they provide a constant flow of new words, or new meanings of the words I had come across already. Now it is up to me to maintain a list of my recent words. There's a ton of great online dictionaries out there. I regularly use Google Translate  and I am happy with it. But it doesn't help with keeping track of history. I end up using the old fashioned paper and pen method. It works, but it could be better. For one thing, I only write down the top definition and I don't bother to write down the examples too. Then, I end up looking up the same word several times, as paper doesn't have search capability. When going through the words, I'd like to first see the word only, check if I know the meaning, and not see the transaltion immediately - another thing that doesn't go well with paper.

Word Holder

I started Word Holder to solve the shortcomings of the paper and pen method. Finding an online dictionary API is the hardest part, and the search may not be over. This is worth another post in the future. Now the word definitions come from Lexicala.  I added a few controls to to way a definition is rendered - showing translations and examples can be turned on and off. Tracking your progress is a fun thing to do, so I added the Recent activity panel. Words looked up more than once deserve special attention - Word Holder shows the number of times a word has been looked up. This is useful, though I still have not added a way to sort or filter by that number.

What Word Holder is not

Word Holder is not a meant to help with to start learning a language. It has no lessons or sample text. Its definitions of the most basic words of a language will not be useful for an absolute beginner. If you need to look up anything in the first 100 most common words in a language, Word Holder will not be very useful to you.

Tags

Sometimes I want to go back to the words of a particular book, or movie. This little button   allows me to add a tag to a word, and this   copies the tags to the next word above. The controls on the top of the page allow me to filter the words by tag.

Quizzes

Once there are at least 5 words, the user can request a quiz. The quiz consists of 5 sentences including randomly selected words from the list. The sentences are generated by ChatGPT and translated by Google translate.

There is a huge space for improvement here. It would be nice to be able to select more precisely the words for the quiz - for example recent, or from a particular source (i.e. tags), or words looked up more often etc. I hop I will find to do that one of these days.

Technology

Next to natural languages I have done a lot with programming languages. The back-end of site is implemented in Rust, after a year and a half experience with it. The front-end is build with React and Typescript, styling with Tailwind CSS. I don't have a lot of expertise with front-end development, big thanks to ChatGPT for the support with React and Tailwind.