I built an app to learn German (and then I didn’t use it)
I built an app to learn German (and then I didn’t use it)

I built an app to learn German (and then I didn’t use it)

Subtitle
This is the story of me thinking that building a vocabulary memorization app was the ultimate thing I needed for learning German. And then I just used it for a week.
Date
Jul 19, 2024
Tags
Languages
Software Engineering

Context

I learn German. I took some courses in Barcelona, but I had forgotten almost everything when I moved to Vienna. I have been self-learning German for over a year, and it is working quite well for me. My techniques reduce to:
  • Listening to podcasts. At my peak motivation level, I was listening to over 1h of German podcasts per day. All of it was Easy German, which I 100% recommend. I love the podcasters and their project. What they do is good work. I have no proof of this, but I like to think that even if you don’t actively listen and have it in the background when doing something else, it helps.
  • Duolingo and Babbel. Both are very nice, but different. I have a 600-day streak in Duolingo, and I used Babbel only for a couple of months (because you have to pay).
    • Babbel is nice to learn in a structured way. If you have time, maybe pay for a month and finish all the grammar courses. Babbel has a nice “Vocabulary Review” functionality that I was using for a while and that inspired my app.
    • Duolingo is nice to refresh and learn structures by repeating things like crazy. But it really works. For instance, I know how to decline articles and adjectives because I’ve seen it so many times in Duolingo.
  • Tandem. I don’t do this very regularly, but I have a Tandem partner, and we meet at least once a month. It’s nice to speak broken German for 20 minutes straight without giving a fuck.
  • Living in a German-speaking country helps learning German🤷🏻
 
 

The idea for the app

I was at my peak motivation level for learning German, and I had been using the Vocabulary Review tool from Babbel for a while. I thought that it would be very nice to have full control of that tool and that by using consistently I would finally reach the next level in German.
 

The app I built

It took me less than a week have the app working. I used Streamlit. I love it, and I would always go with a Streamlit app for these kinds of simple projects that require a UI.
This is the GitHub repo of the project: jsalvasoler/deutsch_lernen (github.com)
There is a nice explanation of the tool in the readme of the project, and I will just summarize it here.
  • The main page of the application is the Dashboard page. This is a screenshot of what it looks like:
notion image
  • After taking a look at the Dashboard, the user can start reviewing words by clicking on the "Review" button. This is a screenshot of what it looks like:
notion image
  • At the end of the review, the user can see the results of the review. The user can take a look at the incorrect answers. Here is a screenshot of what it looks like:
notion image
 

What happened with the app

The funny part of the story is that I used the app for two weeks, and then I abandoned it. 🤡
I guess because of a combination of the following things:
  • It was summer vacation, and I didn’t want to spend a lot of time learning German actively. During the uni semester it’s easier because you are studying and working all day long anyway.
  • I never deployed the app, so I couldn’t use it on my phone
  • The UI was decent, but so lousy compared to Duolingo, Babbel, or any other “real” app.
    • I learned that the “reactivity” or “smoothness” of a UI can make a huge difference on the user experience. If I translate a word correctly, I want some nice animation, not just a ✅ emoji. This not the strength of Streamlit.
    • You are never going to be addicted to an app with a bad UI
  • Memorizing vocabulary is boring
  • In the end, I wasn’t sure that memorizing vocabulary was what my German was missing. And now (a year later) I think this was true. I learned vocabulary through podcasts even faster than with memorization, and in a more natural way (you contextualize the words better).