Why and how I made a wordbook app

August 09, 2022

Motivation

While I watch TV shows or movies, I often find words that I do not know in subtitles. I do not want to stop the shows and take notes every time I find new words. More often I stop the shows, I enjoy them less. When I want to know the meaning of the words, I look for the words after watching the shows. Since I don't know the words, it is difficult for me to search. I have tried to open subtitle files and have read the contents inside. Sometimes I could find words instantly, and sometimes not.

One day, I was thinking of making an app that extracts words from subtitle files. I thought it would be nice if the app recorded the learning process of new vocabulary. After putting my ideas together, I started developing the app.

Prototype

It took me about two months to develop its prototype. What the prototype could do was only extract words from files and search for extracted words. Besides simplicity, I could look for words more quickly than before. It is a prototype, and of course, there were some issues. The more I used it, the more I found issues...

The main problem was the dictionary that I used for the prototype did not cover enough words. The extracted words could not be found in the dictionary. In addition, words were extracted with a simple algorithm, and idiom was ignored.

Better Dictionary

With lots of research, I have found a way to improve the dictionary and the algorithm. After the improvement, I was finally satisfied with the result.
Another two months have passed for this task.

User Interface

The proof of concept has been done. I started to develop its user interface. I want to use the app on both desktop and mobile. I decided to go for the Progressive Web App style. During the implementation, I found some bugs in previous tasks. I needed to fix the bugs. In addition, I have struggled to implement authentication and an audio player.
I spent over seven months finishing all of the user interfaces.

User Experience

After the user interface was done, I tested the app for a while. I have got some dissatisfaction with the experience. I have added a swipe function for an easier transition on mobiles. I also have added a lazy update for better performance.

Not only Wordbook but also Dictionary

Since there is a built-in dictionary to extract words, I implemented a dictionary interface. Words can be added to the wordbook from the dictionary interface.

Audio generation

For some time, I have been happy about the app. Eventually, I could not be satisfied with a voice reading out.
I have used an open-source text-to-speech AI model for reading out words in the app. Although the open-source AI project is amazing, the pronunciations of some words are not as good as I expected. I end up using Amazon Polly for the app. It is splendid and blows out of my mind.

Dark mode

I love dark mode. I looked at the dark screen almost all day long, and I wanted the dark mode for the app as well.

Next action

At the beginning of development, I thought it would take a half year to develop the app at the longest. It took about 14 months to make what I want. Right now, I am satisfied with the app.

I am going to release the app publicly as the beta version. There are still some ideas that remain to help memorize new vocabulary. I will decide whether to implement new functions after the beta test. I am thinking of making versions of other languages.

Thank you for reading the story. Please try it out if you are interested in the app!