An Android application built around the PunkAPI — a mobile catalog of BrewDog beers.
- Catalog — browse the complete BrewDog beer lineup
- Search — look up beers by name right from the top bar
- Beer details — dive into a beer's full profile: brewing parameters, recipe breakdown, and food pairings
- Favorites — heart any beer and find it later on a dedicated screen
Punks started as a refactor of this project, but eventually grew into a standalone app that covers all the functionality of Punk Brew — rewritten from scratch on a modern stack.
The app follows Clean Architecture with a clear separation of data, domain, and presentation layers. Network responses are cached on disk via OkHttp, and beer images are cached independently via Coil — so both content and artwork stay available offline after the first load. Pagination is handled by Paging 3. Favorites are persisted locally in a Room database. The UI is built entirely with Jetpack Compose with full edge-to-edge support.
The app follows Clean Architecture. Data is fetched with pagination via Paging 3, cached locally via OkHttp cache. The UI is based on Jetpack Compose and built with edge-to-edge support.
- Kotlin 2.3.21
- Jetpack Compose
- Navigation
- Hilt 2.59.2
- Coroutines 1.11.0
- OkHttp 5.3.2
- Retrofit 3.0.0
- Moshi 1.15.2
- Room 2.8.4
- Paging 3.5.0
- Coil 2.7.0
- ThreeTen Backport 1.7.3
