I like learning languages. I believe that knowing a foreign language (even to just some extent) allows you to not only understand what someone is saying, but also get a glimpse into how they are thinking. In European language sentences are built around doing things. Emphasis is put onto when, how, and by whom a certain thing has been done. In Japanese, for example, the way you address people is very important and thus verbs will change primarily not based on tense, but based on the politeness that you’re trying to convey. In Chinese there are more words for family members than I know colors. Those differences portray what different cultures deem important.


Words is an app that helps with memorization of vocabulary. As I was starting to learn Chinese I began accumulating more and more lists of words that I was
learning. I had a look around, but I couldn’t find an app that I would be happy with that could help me with it, so I decided to build it on my own (I tend to have very specific requiremnts.

As a result there is a whole bunch of features that I deemed useful in such an app:

  • List of words make up groups
  • Words can be easily created, edited, and deleted
  • Either native word, translation, or both can be shown on the list
  • Upon tapping word with partial information, the whole rest will be displayed too
  • List can be re-shuffled so that words will be displayed in different, randomized order
  • Each word can be added to a revision list (there is one revision list per language)
  • There is a “generic” language which consists of native word and a translation, but support for specific features in other languages can be implemented as well
  • There is support for Chinese in which each word consists of hanzi, pinyin, and a translation (there is additional support for entering accent tones for pinyin)

It is available for free on the iOS App Store. The app is entirely open source, so you can pick the code on GitHub.