finds.dev← search

// the find

philipplackner/CryptoTracker

★ 230 · Kotlin · updated Aug 2025

A tutorial Android app by Philipp Lackner showing clean architecture patterns in Kotlin with Jetpack Compose — coin list, price chart, and detail screen against the CoinPaprika API. This is course companion code, not a production app; the target audience is Android developers learning MVI, Koin DI, and Ktor HTTP client.

The domain/data/presentation layer split is textbook clean architecture and easy to follow as a learning reference. The custom `LineChart` composable drawn with Canvas is a practical example of low-level Compose drawing that most tutorials skip. The `Result<T, E>` sealed type for network error handling is done properly — errors are typed, not stringly typed. Adaptive layout with `AdaptiveCoinListDetailPane` handles phone/tablet breakpoints without duplicating screens.

The drawable folder is a graveyard — hundreds of XML coin icons for coins like BZRX, EOSDAC, and DADI that the app almost certainly never renders, inflating APK size for no user-visible benefit. There are no unit or integration tests beyond the boilerplate `ExampleInstrumentedTest`, so the architecture's testability is demonstrated only in theory. The repo has 204 forks but 230 stars, a ratio that screams 'homework assignment cloning' rather than genuine interest. It's frozen to a specific tutorial snapshot — no pagination, no portfolio tracking, no persistence — so anyone trying to build on it needs to add the basics themselves.

View on GitHub →

// want more like this?

We dig through GitHub every week and send a few repos picked for what you actually care about — each with an honest take like this one.

Get finds in your inbox → Search again →