EU Stats
Eurostat open data on Android, iOS and desktop
EU Stats is my open-source Kotlin Multiplatform app for the public Eurostat API. One codebase with a Compose Multiplatform UI runs on Android, iOS and desktop. The app shows European statistics in eight thematic modules, with interactive charts.
What it does
Eight thematic modules with live data from the Eurostat API
One Codebase, Three Platforms
Kotlin Multiplatform and Compose Multiplatform: the same app runs on Android, iOS and desktop (macOS, Linux, Windows).
Eight Data Modules
Economy, population, environment, trade, transport, tourism, social and science, plus Overview, Search, Compare and Settings screens.
8 Chart Types on Compose Canvas
Line, stacked bar, population pyramid, heatmap, diverging bar, radar, small multiples and highlighted multi-line charts, drawn with Compose Canvas.
Offline Cache
Stale-while-revalidate caching with SQLDelight. Data that the app loaded before stays available without a network.
Three UI Languages
English, Polish and Ukrainian. The user can switch the language at runtime in Settings.
~1,000 Automated Tests
About 1,000 automated tests. GitHub Actions CI runs them, including tests on the iOS simulator.
Screens
Screens from the Android build
How it is built
The project is a multi-module Clean Architecture app. Each thematic module has its own data, domain and UI layers. Decompose handles navigation, Koin handles dependency injection, Ktor loads the data and SQLDelight caches it.
The app reads the JSON-stat 2.0 format of the Eurostat API. I also publish this parser as a small separate library, kotlin-jsonstat, for Kotlin Multiplatform.
EU Stats is an independent open-source client. It is not affiliated with Eurostat or the European Commission. The data comes from Eurostat under the CC BY 4.0 licence.
Key facts
- Kotlin Multiplatform + Compose Multiplatform
- Android, iOS and desktop (JVM)
- 8 thematic modules, live Eurostat data
- 8 chart types on Compose Canvas
- UI in English, Polish and Ukrainian
- ~1,000 automated tests, GitHub Actions CI
- Open source, AGPL-3.0
- No account, no analytics, no tracking
Tech stack
Kotlin Multiplatform from the network layer to the UI
See the code
The source code is on GitHub under the AGPL-3.0 licence. The app is in active development.