Elevate your Android aesthetic.
An open-source wallpaper discovery and management app for Android.
Find, organize, and personalize high-resolution wallpapers across curated online sources.
- Multi-Source Discovery: Search and browse high-resolution wallpapers from multiple platforms including Reddit, Wallhaven, and Pinterest.
- Personal Library & Custom Albums: Organize favorite wallpapers into custom collections with offline caching and direct downloads.
- Material You & Custom Theming: Support for dynamic theming, pure AMOLED dark mode, and customizable accent colors.
- One-Tap Wallpaper Setup: Set wallpapers directly to Home Screen, Lock Screen, or both, with integrated palette extraction.
- Biometric Security: Protect saved collections and private albums with integrated biometric authentication.
- Modern Performance: Smooth edge-to-edge layouts, asynchronous image decoding, and efficient memory management.
WallBase is engineered following modern Android development practices and Clean Architecture principles:
- UI Framework: 100% Jetpack Compose with Material 3 (Material You)
- Architecture: MVVM with Unidirectional Data Flow (UDF) and StateFlow
- Dependency Injection: Dagger Hilt
- Persistence: Room Database (SQLite) and Jetpack DataStore Preferences
- Networking: Retrofit 2, Moshi, OkHttp 4, and Jsoup
- Image Pipeline: Coil 3 with OkHttp caching
- Minimum SDK: Android 8.0 (API level 26)
- Target SDK: Android 16 (API level 36)
- JDK 21 configured on your system
- Android SDK (Target SDK
36, Minimum SDK26) - Android Studio (Ladybug / Meerkat or newer) OR Android CLI Tools / ADB
- A connected physical Android device (USB Debugging enabled) or a running Android Emulator (API 26+)
-
Check connected devices / emulators:
adb devices
-
Build and install the debug APK:
- Windows (PowerShell/CMD):
.\gradlew installDebug
- macOS / Linux:
./gradlew installDebug
- Windows (PowerShell/CMD):
-
Launch the application:
adb shell am start -n com.joshiminh.wallbase/.MainActivity
- Open the project root folder in Android Studio.
- Let Gradle sync and index dependencies.
- Select your connected target device or emulator.
- Click the Run button (
▶/Shift + F10).
WallBase works out-of-the-box without any extra configuration. All sources work with public endpoints by default, and optional API keys (such as Wallhaven) can be configured directly inside the app's settings.
Contributions, bug reports, and feature suggestions are welcome. Please feel free to open an issue or submit a pull request.
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
This project is licensed under the MIT License. See the LICENSE file for details.


