Language Learning App

Language Learning App

Von am 24.02.2026

As my second project for the first semester, I set out to learn more about app development with Kotlin. For this, I used Android Studio to create a language-learning app with a small twist: instead of entering the word you want to learn in your own language, you enter the foreign word. The backend then automatically translates the word into your language. The idea behind this is that writing the new word yourself helps memorize it, while also saving a little time by translating it automatically.

Tools and Technologies

To achieve this, I used the most recent version of Android Studio in combination with:

Frontend: Jetpack Compose

When developing apps in Android Studio, the recommended framework is Android’s Jetpack Compose. It is a modern toolkit for building native UIs and simplifies and accelerates UI development on Android.

Backend / Database: Jetpack Room

Jetpack Room is a persistence library introduced as part of the Android Jetpack suite to simplify working with SQLite databases. It provides an abstraction layer over SQLite, allowing more robust database access while still enabling the full power of SQLite.

Translation: ML Kit

With Android Studio’s ML Kit Translation API, users can translate text in over 50 different languages without the need for an internet connection, and it is completely free to use for development.

Project Scope

My goal is to develop an intuitive app that lets users learn new words in different languages.

The app should contain:

  • Start Page
    • Before users can begin learning, they need to set a name and their nationality so ML Kit knows which language to translate into.
  • Overview of folders and cards
    • Users can create multiple folders with different language settings and visuals. In these folders, they can see their added cards.
  • Add folders
    • Adding folders should be easy, and folders should also be easily distinguishable. To achieve this, users can set a name (e.g., German vocabulary), a color, the foreign language (e.g., German), and change the local language if needed (default is the user’s nationality).
  • Add cards
    • Adding cards is the most important feature of this app. Users add a new word and have two optional fields for example sentences and tags.
  • Automatic translation
    • For ease of use (and to experiment with Android’s APIs), the new word is automatically translated into the user’s language.
  • Quiz mode
    • With quiz mode, users can test their skills using three different modes: Random, Bookmarked, and Recall (a list of incorrectly answered cards).

Beyond the Initial Scope

Additionally, I implemented several features that further improve the app’s functionality:

  • User edit page: Allows users to edit their name, nationality, and app theme.
  • Light and dark mode: Added for additional customization.

Overall, the implementation of this project during my first semester was very successful and involved learning many new technologies. Both frontend and backend are fully implemented and can be further extended in the upcoming semesters.

Beitrag kommentieren

(*) Pflichtfeld