02_skye
Skye
Personal project
Open beta on Google Play
A weather app built to properly practice Clean Architecture and MVVM — GPS-based forecasts, offline caching, a home screen widget, and full RU/EN support, all built directly against the OpenWeather API.
Kotlin · Jetpack Compose · Clean Architecture · MVVM · Retrofit · Room · Glance


02_what_i_built
What's built so far
Clean Architecture from day one
Structured the codebase into domain, data, and presentation layers from the start, rather than retrofitting it later — a deliberate choice to practice the pattern properly.
Cached for offline use
Saved cities and the last fetched forecast are stored locally with Room, so the app still shows something useful without a live connection — not just a spinner.
Home screen widget
Built with Glance, so the current forecast is visible without even opening the app.
Parallel API requests
Current conditions, hourly, and weekly forecasts are fetched concurrently with coroutines, instead of waiting on each one in sequence.
Location-aware by default
Detects your GPS location on first launch, so the forecast for where you are is one tap away — no need to search for your own city first.
City search with autocomplete
Typing a city name surfaces matching results as you search, rather than requiring an exact match.