Engineering
Technologies and packages used to build Sketra across iOS and Android.
Flutter powers both the iOS and Android apps from a single codebase. Built with Material 3 design principles — offering a modern, platform-adaptive UI across both platforms.
Structured with MVVM, separating Views from ViewModels and business logic — keeping the UI layer declarative and the state management testable.
Hive is used as a lightweight, high-performance NoSQL local database for caching wallpaper data and storing user preferences — no native code required.
dio handles all HTTP networking — fetching wallpaper data, paginated image lists, and categories from the backend API with interceptors, error handling, and timeout control.
image_gallery_saver_plus enables saving wallpapers to the device gallery. wallpaper_manager_flutter allows setting downloaded images as the device wallpaper directly from the app.
A single Flutter codebase targets both iOS and Android — delivering a consistent wallpaper browsing, download, and set-as-wallpaper experience across platforms.
Structure
MVVM keeps each layer focused — Views react to state, ViewModels coordinate business rules, and the data layer handles persistence and networking.
Flutter widgets. Declarative, reactive to ViewModel state. No business logic.
State management and business logic. Coordinates between View and Data layers.
dio for API calls, Hive for local caching. Supplies clean data to ViewModels.
Complete Stack
My Role
Built Sketra as an independent project — designed and developed the full app from scratch using Flutter and Material 3. Key work included implementing the MVVM architecture, integrating dio for API-backed wallpaper fetching, using Hive for offline caching, and wiring image_gallery_saver_plus and wallpaper_manager_flutter for the download and wallpaper-setting features.