An Android app for planning meals and discovering new recipes.
It helps users discover get an overview of the nutritional value of planed meal and allows for automatic creation of a shopping list.
Own recipes can also be created and published (to the backend).
The translation into both supported languages(EN/DE) and the calculation of the macronutrients will happen automatically on publish.
The app can be installed directly from the Google Play Store.
| Discover Recipes | Nutrition Stats | Settings | Recipe View |
|---|---|---|---|
![]() |
![]() |
![]() |
![]() |
Language: Kotlin
UI: Jetpack Compose
Architecture: MVVM Architecture (View → ViewModel → UseCase → Repository → DAO)
Async / State: Coroutines, Flow
DI: Hilt
Networking / Serialization: <Retrofit, OkHttp, Moshi, Kotlinx Serialization>
Persistence: Room
Navigation: Navigation Compose
Image Loading: Coil
Google Services: Firebase Crashlytics
This project uses a closed-source backend. Backend access is abstracted via interfaces
The system supports a variety of custom nutrition metrics to evaluate nutritional quality. Instead of enforcing a single nutrition doctrine, the app allows different dietary theories and personal interpretations of "healthy".
Nutrition quality is treated as a measurable but configurable concept, not a fixed truth.
Meal planning is modeled as an optimization problem with interchangeable strategies, such as:
- local improvement (e.g. maximizing gain by replacing a single recipe)
- global optimization over an entire meal plan
- hybrid approaches combining personal preferences with nutritional quality
The optimization shall support all custom metrics, as mentioned above
The goal is to support all major European languages (≥ 40 million native speakers each).
The free version of the app is:
- fully usable
- ad-free
- sufficient to gain substantial value
A potential premium subscription is intended as a nice-to-have for advanced features, not a requirement for meaningful use.
The app follows an offline-first approach:
- core functionality works without internet access
- data is stored locally and synchronized when connectivity is available
- temporary offline usage shall be as functional as possible




