iOS · SwiftUI2026
iWeather
Native iOS weather app built with SwiftUI, SwiftData, and Open-Meteo REST API. Features scalable MVVM architecture, dependency injection, offline-first disk caching, real-time particle canvas effects, and dynamic weather-adaptive gradient themes.
- Role
- iOS Engineer — MVVM Architecture, Networking, Caching, Canvas Animations
- Timeline
- 2026 · Open Source
- Stack
- SwiftUISwiftDataCoreLocationURLSessionObservationCanvasTimelineView
01
Screens & Architecture
02
The Problem
Wanted to build a visually rich, offline-capable weather app using only native Apple frameworks with clean MVVM separation and no third-party networking or UI dependencies.
03
How I built it
- Designed a scalable layered MVVM architecture with protocol-based dependency injection for testability.
- Built async/await networking layer with generic APIRequest protocol consuming Open-Meteo REST API and Geocoding API.
- Implemented FileManager disk cache fallback for full offline weather snapshot viewing.
- Created ambient particle animations (rain droplets, sunburst glow, starry night) using TimelineView + Canvas for real-time weather-adaptive visual effects.
- Added CoreLocation integration for instant current-location weather with explicit permission handling and 350ms debounced city search.
04
Outcome
- Fully native iOS weather experience with offline-first caching and dynamic visual effects.
- Real-time particle canvas animations adapting to current weather conditions.
- YouTube demo with live walkthrough of all features.