An Android app for discovering cocktail recipes, tracking your ingredient inventory, and finding out what you can make with what you have.
Status: Stable hobby project
- Browse a bundled catalogue of cocktail recipes
- Full recipe view with ingredients and instructions
- Save favourites and add drinks to a personal list
- Search and filter drinks by category
- Track which ingredients you currently have in stock
- See which drinks you can make right now with your inventory
- See drinks you're closest to being able to make — so you know what to grab next
- Add missing ingredients directly to a shopping list
- Check off items and mark them as purchased to update your inventory automatically
- Add notes to individual shopping items
- Find nearby Systembolaget stores and bars using OpenStreetMap via the Overpass API
RecipeRecommendr is a single-module app following Clean Architecture principles:
data/ → Room DB, entities, DAOs, mappers, remote (Overpass API)
domain/ → Models, repository interfaces, use cases
ui/ → Compose screens, ViewModels, navigation
di/ → Hilt modules
┌──────────────────────────────────────────┐
│ ui (Compose) │ Screens · ViewModels
├──────────────────────────────────────────┤
│ domain │ Use cases · Repository interfaces · Models
├──────────────────────────────────────────┤
│ data │ Room DB · Overpass API · Mappers
└──────────────────────────────────────────┘
Key patterns:
- ViewModels expose
StateFlowwith sealed UI state classes - Use cases encapsulate business logic, keeping ViewModels thin
- Repository pattern abstracts local (Room) and remote (Overpass) data sources
- Hilt for dependency injection throughout
- All drink and recipe data is bundled with the app — works fully offline except for the map
| Category | Library / Tool |
|---|---|
| Language | Kotlin |
| UI | Jetpack Compose |
| Architecture | MVVM + Clean Architecture |
| Dependency Injection | Hilt |
| Navigation | Jetpack Navigation Compose |
| Local Database | Room |
| Async | Kotlin Coroutines + Flow |
| Map | OpenStreetMap · Overpass API |
- Clone the repository
git clone https://github.com/fbaldhagen/reciperecommendr.git
- Open in Android Studio
- Build and run on a device or emulator running Android 8.0+ (API 26+)
No API keys or configuration needed — the app works out of the box.
This project is licensed under the MIT License.







