Vocabulary Book-Multi Language

A notebook app meant to replace real notebooks for learning vocabularies. Whether on the way to the cinema, to work or relaxed on your couch, you always have your vocabulary book with you.

This is my first app I wanted to publish and it also is my most successful one yet with thousands of downloads.

overview of the app design
App design

Table of contents

Finding the idea

The idea for it came when I needed to learn vocabularies for school. Every student had a notebook where we wrote down all vocabularies we had to learn.

I wanted to be able to learn them without having to carry around this notebook so I thought about how I could prevent that without just learning at home. Of course, I quickly thought of my smartphone that I have with me anyways and searched for existing apps for learning vocabularies. Most of them would query predetermined words out of existing units and those apps that did what I wanted didn’t do it in a way I would have liked to do it.

At the time I was learning app development for Android so I saw the opportunity to build an app that I would actually need and that doesn’t already exist. I could apply my skills and improve them.

Building the app

At first, I sketched down my ideas for the design on every screen and what the user should be able to do. I made two prototype apps before I built the final version because I was unsatisfied with the code and needed to figure some things out. Throughout the whole process, the structure of the app remained the same which is covered next.

Main functionality

Main page of the app
Main screen of the app

The first screen shows all the lists the user has created. Before starting, you can select which lists you want to learn by clicking on the checkbox on the left of the list name. By tapping on the list name, the user is able to view all vocabularies in the list, edit them and add new ones:

Vocabulary list screen
All vocabularies in the list

The user can decide how he/she will be queried: either “write mode”, “think mode” or multiple choice. In “write mode”, you will be asked to write down the translation of the given word.

demonstration of the write mode
Write mode asking for the translation of the word "obligation"

“Think mode” means you only have to think of the translation and you can check for yourself with the press of a button.

demonstration of the think mode
Think mode asking for the same translation

The wrong answers from the multiple choice mode are taken from all other vocabularies the user saved.

demonstration of the multiple choice mode
Multiple choice mode

It’s also possible to share the lists and to edit or create them on your computer.


There are lots of settings available to fine-tune the behavior of the app. For example, you can choose if the vocabularies are queried in the order you saved them or randomly, if the first saved vocabulary is expected to be translated into the second, vice versa or random.

This means if you save the vocabulary “house”=”Haus” and choose to translate the first into the second, you have to enter the translation of “house” and vice versa you would have to translate “Haus”.

You can also choose to show statistics at the end of the query where you can see which words were right or wrong and add them to a new list. For the writing mode, you can display a “hint” button to help you out if you are stuck or set if you want to ignore lowercase and uppercase.

There are other more minor settings which I don’t want to cover here.

What I learned

I definitely improved my Java and app development skills by building this app over a long period of time (I released many updates over the course of one year). Alone for this reason, I can say it was worth it but there is more:

I learned how to use Android libraries, how to save data on the device, how to translate the user interface based on the user’s language, how to implement Google’s Material Design, how to export/import and share the vocabulary lists.

Finally, I also learned how to register as a developer in the Google Play Store and publish an app.

My favorite thing about this project

is that I built something I needed and really use. I’m also glad that so many people use it.


One year after the initial release, I released the last update of 13 in total. In every update, I tried to improve the design and code, reduce the app size, fix bugs or add new helpful features.

Some features/improvements that I added with an update after the first release are: tutorial when you first start the app, more settings, multiple choice mode, search for vocabularies, changelog after an update, exporting/importing/sharing lists, Material Design.

If you look at the old design below, you can see how much better the design has become.

Old design

The design was different when I first released the app. I wasn’t really satisfied with it so I decided to learn how to implement Google’s Material Design. It was a lot of work but it was really necessary.

old app design
Old app design that I already reworked


My first published app turned out to be way more complex than I imagined and I implemented more than I thought I would in the beginning. It taught me lots of useful concepts and additionally is my most successful app yet. You can download and try the app below.