About CuLa

CuLa is an Android App that helps you learn new languages as addition to e.g. a language course you take at a community college or similar.

CuLa lets you define one or more language you want to train. As the name already tells, my goal with CuLa was to keep it really customizable and not build on preconfigured lessons or dictionaries. That means you can adapt CuLa to your specific language course and train the vocabulary you really need.

For each language you can add word pairs (native and foreign language). Each word pair is assigned with a knowledge level, which basically describes how familiar you are with that word pair. You can also create custom lessons, where each word pair can be assigned to any lesson.

After creating your custom dictionary, you can use the training activity to choose which words you want to train, e.g. based on lesson and/or knowledge Level.

This is just a brief summary, have a look below for some pictures.

CuLa is currently in closed beta in the playstore, send me a mail if you are interested in getting access.

The code is available on github as open source. The initial design ideas are described here

Some Impressions

My motivation for creating CuLa

CuLa was my first Android App, which I developed as final project of my Udacity/Google Android Developer Nanodegree.

My goals when programming the App were:

  • Passing the Nanodegree (worked out 😄)
  • Getting experience with the MVVM software architecture pattern
  • Try out different Parts of Android Jetpack
    • The Room Persistence Library as local database backend
    • Navigation
    • LiveData and ViewModels
    • Data binding
    • Preferences
    • Transitions
  • Learn about different UI elements/layouts in Android
    • e.g. Constrained Layout
  • Embed third party libraries for e.g. nice graphs for displaying some statistics
  • Publishing an app on the appstore