Bluebird is an open-source Android home screen replacement that recreates the Windows 11 desktop environment pixel-perfectly β complete with a floating windowed app system, real file explorer, and live notifications.
π¦ Download APK Β· πΈ Screenshots Β· β¨ Features Β· ποΈ Architecture Β· π Getting Started
- Overview
- Screenshots
- Features
- Built-in Apps
- Architecture
- Tech Stack
- Project Structure
- Permissions
- Getting Started
- Building from Source
- Download & Releases
- Configuration
- Known Limitations
- Roadmap
- Contributing
- License
- Credits
Bluebird transforms your Android device into a Windows 11 desktop. It is a fully functional home screen launcher β set it as your default launcher and your phone becomes a PC-style productivity device.
- A floating windowed app system where every app opens in a draggable, resizable window
- A real Windows 11 taskbar with clock, pinned apps, system tray, and Action Center
- A Start Menu with app grid, search, user profile, and power options
- A real file explorer powered by Android's
FileAPI β not simulated - Live system notifications via
NotificationListenerService - Real phone dialer and SMS messaging using Android's native contact & telephony APIs
- A media player with full playback controls powered by
MediaPlayer - An image viewer with pinch-to-zoom, swipe navigation, and wallpaper-set support
- A Recycle Bin β deleted files go here, restorable or permanently removed
- A first-launch OOBE wizard (Out-of-Box Experience) for permissions, username, and avatar
- Persistent wallpapers (home + lock screen) that survive restarts
- Desktop shortcuts β pin any file, folder, or app directly to the desktop
Built entirely with Jetpack Compose and Kotlin, targeting Android 8.0+ (API 26+).
Desktop β’ Start Menu β’ File Explorer
| Feature | Description |
|---|---|
| Floating Windows | Every app opens in a draggable, focusable window with minimize/maximize/close |
| Acrylic Glassmorphism UI | Frosted-glass panels with blur, transparency, and layered depth |
| Multi-window management | Stack and switch between multiple open windows |
| Snap layout picker | Windows 11βstyle snap layout overlay for quick window positioning |
| Desktop icons | System icons (This PC, Recycle Bin, Settings, Network), file shortcuts, and app shortcuts |
| Right-click context menu | Long-press desktop β New Folder, New Text File, Personalize, Refresh, Display Settings |
| Desktop shortcuts | Drag any file from File Explorer β Create Shortcut; long-press app in Start Menu β Add to Desktop |
| Scrollable desktop | Desktop scrolls when icons exceed the screen area |
| 5 built-in wallpapers | Blue Bloom, Sunset Purple, Forest Green, Deep Space, Aurora β gradient themes |
| Custom wallpaper | Pick any image from Gallery for home screen and lock screen separately |
| Wallpaper persistence | Custom images copied to internal storage β survive app restarts and reboots |
| Double-tap taskbar toggle | Double-tap the desktop to hide/show the taskbar (full immersive mode) |
| Dark / Light theme | Full dark and light mode switching, live and persistent |
| Feature | Description |
|---|---|
| Windows 11 taskbar | Centered Start button, pinned apps, running window indicators, system tray |
| Pin to taskbar | Long-press any app icon in Start Menu β Pin to taskbar |
| Unpin from taskbar | Long-press any pinned taskbar icon β Unpin |
| Running window badges | Dot indicator below any app with an open window |
| Window switcher | Tap a running window's taskbar icon to focus or restore it |
| System tray | Battery level, Wi-Fi indicator, Bluetooth, clock, date |
| Notification badge | Badge count on Action Center button when there are unread notifications |
| Feature | Description |
|---|---|
| App grid | Pinned apps + all built-in apps in a 6-column icon grid |
| All Apps view | Scroll through every installed app on the device |
| Real-time search | Type to filter installed apps instantly |
| User profile | Real username + avatar (from OOBE setup) shown in bottom bar |
| App context menu | Long-press any app β Open / Add to Desktop / Pin to Taskbar |
| Power menu | Sleep, Lock, Restart, Shut Down options |
| Feature | Description |
|---|---|
| True filesystem browsing | Uses Android File API β real files, real sizes, real dates |
| Breadcrumb navigation | Clickable path segments β tap any segment to jump there |
| List & Grid views | Toggle between detail list and thumbnail grid |
| Sort options | Sort by Name, Date, Size, or Type β ascending or descending |
| Hidden files toggle | Show/hide dotfiles |
| File search | Filter files in the current directory by name |
| File operations | Copy, Cut, Paste, Rename, Delete (to Recycle Bin) |
| File context menu | Long-press β Open / Copy / Cut / Rename / Create Shortcut / Delete |
| Create desktop shortcut | Right-click any file/folder β Create Desktop Shortcut |
| New folder | Create folders directly in current directory |
| Open with intent | Tapping a file opens it with the correct system app |
| Quick Access panel | Desktop, Downloads, Documents, Pictures, Music, Movies, DCIM, Storage |
| Storage progress bar | Shows used/free internal storage in left panel |
| File type icons | Distinct color-coded icons for images, video, audio, PDF, text, archives, APKs |
| Feature | Description |
|---|---|
| Full-screen viewer | Opens any image in immersive full-screen mode |
| Pinch-to-zoom | Multi-touch pinch zoom, pan, double-tap to zoom 2.5Γ |
| Swipe navigation | Swipe left/right to move between images in the same folder |
| Thumbnail strip | Scrollable thumbnail row at the bottom for quick jump |
| Rotate | Rotate image 90Β° CW or CCW |
| Share | Share image via system share sheet |
| Set as wallpaper | Set current image as home screen wallpaper instantly |
| Delete to bin | Delete to Recycle Bin from inside the viewer |
| Image info panel | File name, size, date modified, path |
| Feature | Description |
|---|---|
| Audio playback | Plays MP3, WAV, OGG, FLAC, AAC, M4A via Android MediaPlayer |
| Video support | MP4, MKV, AVI, MOV, WebM |
| Auto-playlist | Loads all media files from the same folder into a playlist |
| Seek bar | Real-time playback position with tap-to-seek |
| Track metadata | Title, artist, album from file tags via MediaMetadataRetriever |
| Playback controls | Play/Pause, Previous, Next, Shuffle, Repeat (Off / All / One) |
| Playlist panel | Left sidebar with all tracks, now-playing indicator, equalizer animation |
| Duration display | Track duration and current position always visible |
| Feature | Description |
|---|---|
| Real contacts | Reads contacts from ContactsContract β real names and numbers |
| Call log | Reads last 100 calls from CallLog with incoming/outgoing/missed indicators |
| Numeric keypad | Full dial pad that triggers ACTION_CALL intent |
| Contact search | Search by name or number |
| One-tap call | Tap any contact or call log entry to dial |
| Feature | Description |
|---|---|
| Real SMS threads | Reads conversation threads from Telephony.Sms.Conversations |
| Message view | Full conversation with sent/received bubbles |
| Send SMS | Compose and send messages via ACTION_SENDTO intent |
| Contact resolution | Phone numbers resolved to contact names automatically |
| New message | Start a new conversation with any number |
| Conversation search | Filter threads by name or message content |
| Feature | Description |
|---|---|
| System Recycle Bin | All files deleted from File Explorer go here |
| Badge count | Desktop Recycle Bin icon shows item count badge |
| Restore | Restore items to their original paths |
| Permanent delete | Remove items permanently one by one |
| Empty bin | Delete all items at once with confirmation |
| Multi-select | Checkbox multi-select for bulk operations |
| Item details | Original path, deletion date, file size for every item |
| Section | Features |
|---|---|
| Personalization | Wallpaper picker (home + lock screen), gradient presets, accent color (8 colors), dark/light mode |
| Display | Brightness slider β real Settings.System.SCREEN_BRIGHTNESS |
| Sound | Volume slider β real AudioManager.STREAM_MUSIC |
| Network | Wi-Fi toggle β opens system Wi-Fi settings; Bluetooth β opens system Bluetooth settings |
| Battery | Real battery level + charging status with progress bar |
| Storage | Real used/free storage with progress bar |
| Apps | List of all installed apps; tap to open App Info |
| Accounts | User profile with avatar and name from OOBE |
| About | Device model, manufacturer, Android version, API level, RAM, app version |
| Feature | Description |
|---|---|
| Live notifications | NotificationListenerService reads real system notifications |
| Action Center | Grouped notifications with app name, title, body, and timestamp |
| Dismiss | Dismiss individual notifications or clear all |
| Auto-reconnect | Service callbacks re-registered on every onResume() |
| Step | Description |
|---|---|
| Welcome | Animated welcome screen with Bluebird branding |
| Permissions | Per-permission grant buttons for Storage, Contacts, SMS, Camera, Notifications |
| Username | Enter your name β shown in Start Menu, Lock Screen, and Settings |
| Profile picture | Pick from Gallery β stored persistently in internal storage |
| Skip support | Every step can be skipped and revisited in Settings later |
| Feature | Description |
|---|---|
| Custom wallpaper | Shows lock screen wallpaper (separate from home wallpaper) |
| Live clock | Large 12-hour clock with date |
| User avatar | Profile picture or initial letter shown on lock screen |
| Tap to unlock | Single tap unlocks back to the desktop |
| App | Icon | Description |
|---|---|---|
| File Explorer | π | Real filesystem browser |
| Settings | βοΈ | Full settings panel |
| Phone | π | Real dialer with contacts & call log |
| Messages | π¬ | Real SMS reader and sender |
| Media Player | π΅ | Audio/video player with playlist |
| Image Viewer | πΌοΈ | Full-screen image viewer |
| Recycle Bin | ποΈ | Deleted files manager |
| Browser | π | WebView-based browser |
| Calculator | π’ | Standard calculator |
| Calendar | π | Month calendar view |
| Photos | πΌοΈ | Photo gallery |
| Task Manager | π | Running processes viewer |
| Text Editor | π | In-launcher editor with syntax highlighting |
Bluebird uses a single-ViewModel, unidirectional data flow architecture:
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β MainActivity β
β βββββββββββββββββββββββ βββββββββββββββββββββββββββββββ β
β β SetupScreen β β DesktopScreen β β
β β (OOBE Wizard) β β β β
β βββββββββββββββββββββββ β ββββββββββββ βββββββββββ β β
β β β Desktop β β Windows β β β
β β β (Icons, β β Manager β β β
β β β Wallpaperβ β β β β
β β β Context β β Floatingβ β β
β β β Menu) β β Windows β β β
β β ββββββββββββ βββββββββββ β β
β β ββββββββββββββββββββββββ β β
β β β Taskbar β β β
β β β Start β Apps β Tray β β β
β β ββββββββββββββββββββββββ β β
β β ββββββββββββββββββββββββ β β
β β β Overlays (animated) β β β
β β β Start Menu β Search β β β
β β β Action Centerβ Power β β β
β β ββββββββββββββββββββββββ β β
β βββββββββββββββββββββββββββββββ β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β
ββββββββββββΌβββββββββββ
β LauncherViewModel β
β β
β LauncherUiState β
β βββββββββββββββββββ β
β β wallpaper β β
β β userProfile β β
β β installedApps β β
β β pinnedApps β β
β β openWindows β β
β β notifications β β
β β desktopShortcutsβ β
β β recycleBinItems β β
β β overlayStates β β
β βββββββββββββββββββ β
ββββββββββββ¬βββββββββββ
β
βββββββββββββββββΌββββββββββββββββ
β β β
βββββββββββΌβββββββ βββββββΌβββββββ ββββββΌβββββββββ
β SharedPrefs β β Android β β System β
β (persistence) β β APIs β β Services β
β β β File, SMS β β Wallpaper β
β - wallpaper β β Contacts β β AudioManagerβ
β - username β β CallLog β β Notificationβ
β - pinned apps β β PackageMgr β β Listener β
β - shortcuts β β MediaPlayerβ β BatteryMgr β
β - recycle bin β ββββββββββββββ βββββββββββββββ
ββββββββββββββββββ
User Gesture β Composable β ViewModel.action() β UiState update β Recompose
All state lives in a single LauncherUiState data class, collected as StateFlow by Compose. No Room database β all persistence is through SharedPreferences with Gson serialization for complex objects.
| Category | Technology | Version |
|---|---|---|
| Language | Kotlin | 2.0.0 |
| UI Framework | Jetpack Compose | BOM 2024.08.00 |
| Architecture | MVVM + StateFlow | β |
| Build System | Gradle (KTS) | 8.5.2 |
| Navigation | None (custom window manager) | β |
| Image Loading | Coil | 2.7.0 |
| JSON | Gson | 2.11.0 |
| Persistence | SharedPreferences + DataStore | 1.1.1 |
| Icons | Material Icons Extended | BOM |
| System UI | Accompanist SystemUI | 0.34.0 |
| Permissions | Accompanist Permissions | 0.34.0 |
| Drawable Rendering | Accompanist DrawablePainter | 0.34.0 |
| Splash Screen | AndroidX Core SplashScreen | 1.0.1 |
| Min SDK | Android 8.0 (Oreo) | API 26 |
| Target SDK | Android 15 | API 35 |
| Compile SDK | 35 | β |
| Java Version | 17 | β |
Bluebird/
βββ app/
β βββ build.gradle.kts
β βββ proguard-rules.pro
β βββ src/main/
β βββ AndroidManifest.xml
β βββ java/com/bluebird/
β βββ BluebirdApplication.kt
β βββ DesktopModeHelper.kt
β βββ LauncherApplication.kt
β βββ LauncherViewModel.kt # Core logic (~92KB) β all state & business logic
β βββ MainActivity.kt # Entry point, OOBE routing, immersive mode
β β
β βββ browser/
β β βββ data/
β β β βββ BrowserRepository.kt
β β βββ ui/
β β β βββ BrowserScreen.kt
β β β βββ NewTabPage.kt
β β β βββ components/
β β β β βββ Dialogs.kt
β β β β βββ NavigationComponents.kt
β β β βββ keyboard/
β β β β βββ FloatingKeyboard.kt
β β β βββ model/
β β β β βββ Models.kt
β β β βββ panels/
β β β β βββ Panels.kt
β β β βββ webview/
β β β βββ BrowserWebView.kt
β β βββ utils/
β β βββ AdBlocker.kt
β β βββ DownloadHelper.kt
β β βββ UrlUtils.kt
β β βββ UserAgents.kt
β β
β βββ data/
β β βββ BootReceiver.kt # Auto-launch on device boot
β β βββ NotificationListener.kt # NotificationListenerService
β β
β βββ editor/
β β βββ core/
β β β βββ EditorModels.kt
β β β βββ PremiumEditorState.kt
β β βββ editor/actions/
β β β βββ TextActions.kt
β β βββ highlighting/
β β β βββ SyntaxEngine.kt # Syntax/code highlighting engine
β β βββ ui/
β β β βββ components/
β β β β βββ EditorComponents.kt
β β β βββ screens/
β β β β βββ PremiumTextEditorScreen.kt
β β β βββ theme/
β β β βββ EditorThemes.kt
β β βββ utils/
β β βββ EditorPreferences.kt
β β
β βββ ui/
β β βββ components/
β β β βββ ActionCenter.kt # Notification panel + quick tiles
β β β βββ CommonComponents.kt # AcrylicSurface, AppIconSmall, shared UI
β β β βββ Desktop.kt # Wallpaper, icons, context menu (~104KB)
β β β βββ DesktopPreferences.kt
β β β βββ DesktopWallpaperState.kt
β β β βββ SearchOverlay.kt # Global search overlay
β β β βββ StartMenu.kt # Start menu, app grid, power menu (~98.6KB)
β β β βββ Taskbar.kt # Bluebird taskbar, tray, clock (~75.3KB)
β β β βββ WidgetsPanel.kt # Widgets slide-in panel
β β β βββ WindowManager.kt # Floating window container & routing
β β βββ screens/
β β β βββ AppScreens.kt # Calculator, Calendar, Photos, TaskManager
β β β βββ BrowserScreen.kt # WebView browser (legacy screen)
β β β βββ DesktopScreen.kt # Root desktop compositor
β β β βββ FileExplorerScreen.kt # Real file manager
β β β βββ ImageViewerScreen.kt # Full-screen image viewer
β β β βββ Launcherupdatesettings.kt # In-app update settings
β β β βββ LockScreenActivity.kt # System lock screen activity
β β β βββ MediaPlayerScreen.kt # Audio/video player
β β β βββ MessagesScreen.kt # SMS reader/sender
β β β βββ PhoneScreen.kt # Dialer + contacts + call log
β β β βββ RecycleBinScreen.kt # Recycle bin manager
β β β βββ SettingsScreen.kt # Full settings (12 categories)
β β β βββ SetupScreen.kt # First-launch OOBE wizard
β β β βββ TextEditorScreen.kt # In-launcher text/code editor
β β βββ theme/
β β βββ Theme.kt # Win11Colors, dark/light Material3 themes
β β
β βββ update/
β βββ UpdateManager.kt # GitHub-based update checker & downloader
β βββ UpdateNotificationHelper.kt
β βββ Updatemodels.kt
β
βββ gradle/
β βββ libs.versions.toml # Version catalog (all dependencies)
β βββ wrapper/
β βββ gradle-wrapper.properties
β
βββ build.gradle.kts # Project-level build config
βββ settings.gradle.kts # Module settings
βββ gradle.properties # Gradle JVM args
βββ CHANGELOG.md
βββ CONTRIBUTING.md
βββ LICENSE
βββ SECURITY.md
βββ README.md
Bluebird requests the following permissions, each explained:
| Permission | Why it's needed | Required? |
|---|---|---|
QUERY_ALL_PACKAGES |
List all installed apps in Start Menu | β Yes |
RECEIVE_BOOT_COMPLETED |
Auto-start as home screen after reboot | β Yes |
SET_WALLPAPER / SET_WALLPAPER_HINTS |
Apply custom wallpaper to system | β Yes |
READ_MEDIA_IMAGES/VIDEO/AUDIO |
Browse media files in File Explorer | β Yes |
READ_EXTERNAL_STORAGE |
Filesystem access (Android β€ 12) | β Yes |
MANAGE_EXTERNAL_STORAGE |
Full filesystem access for File Explorer | |
READ_CONTACTS |
Show real contacts in Phone app | |
CALL_PHONE |
Dial calls from the Phone dialer | |
READ_CALL_LOG |
Show recent calls in Phone app | |
READ_SMS / SEND_SMS / RECEIVE_SMS |
Read and send messages | |
CAMERA |
Take profile picture during OOBE | |
POST_NOTIFICATIONS |
Show system notifications | |
BIND_NOTIFICATION_LISTENER_SERVICE |
Read live notifications via system service | |
INTERNET / ACCESS_NETWORK_STATE |
Browser app, network status, update checker | |
BLUETOOTH_CONNECT / BLUETOOTH_SCAN |
Bluetooth status in Quick Settings | |
WRITE_SETTINGS |
Adjust screen brightness | |
BATTERY_STATS |
Real battery level in status bar |
β οΈ MANAGE_EXTERNAL_STORAGErequires manual grant in Android Settings on API 30+. The OOBE wizard guides the user through this.
β οΈ Notification Listener must be manually granted in Settings β Notifications β Notification Access. The OOBE wizard opens this screen directly.
- Android Studio Hedgehog (2023.1.1) or newer
- JDK 17 or newer
- Android device or emulator running Android 8.0+ (API 26+)
- Gradle 8.5.2
git clone https://github.com/norbert-web/bluebird.git
cd bluebird- Open Android Studio
- Click File β Open and select the
Bluebird/folder - Wait for Gradle sync to complete
- Connect your device or start an emulator
After installing, Android will prompt you to select a default launcher. Choose Bluebird and tap Always. If not prompted:
- Go to Settings β Apps β Default Apps β Home App
- Select Bluebird
./gradlew assembleDebugOutput: app/build/outputs/apk/debug/app-debug.apk
- Create a keystore (first time only):
keytool -genkey -v -keystore bluebird-release.jks \
-keyalg RSA -keysize 2048 -validity 10000 \
-alias bluebird- Configure signing in
app/build.gradle.kts:
android {
signingConfigs {
create("release") {
storeFile = file("../bluebird-release.jks")
storePassword = System.getenv("KEYSTORE_PASS")
keyAlias = "bluebird"
keyPassword = System.getenv("KEY_PASS")
}
}
buildTypes {
release {
signingConfig = signingConfigs.getByName("release")
isMinifyEnabled = true
isShrinkResources = true
proguardFiles(
getDefaultProguardFile("proguard-android-optimize.txt"),
"proguard-rules.pro"
)
}
}
}- Build:
KEYSTORE_PASS=yourpassword KEY_PASS=yourkeypass ./gradlew assembleReleaseOutput: app/build/outputs/apk/release/app-release.apk
# Debug
./gradlew installDebug
# Or use ADB manually
adb install -r app/build/outputs/apk/debug/app-debug.apk./gradlew test # Unit tests
./gradlew connectedTest # Instrumented tests (requires device/emulator)β¬οΈ Download from GitHub Releases β
- Download the latest
bluebird-release.apkfrom GitHub Releases - On your Android device, go to Settings β Security β Install unknown apps
- Enable Allow from this source for your browser or file manager
- Open the downloaded APK and tap Install
- When prompted to choose a launcher, select Bluebird β Always
adb install bluebird-release.apkBluebird stores all user preferences in SharedPreferences under the key launcher_prefs_v2. There is no config file β everything is configured through the in-app Settings and OOBE wizard.
To fully reset Bluebird:
adb shell pm clear com.bluebirdOr: Android Settings β Apps β Bluebird β Storage β Clear Data
If you want to publish your own fork, change the package name in:
app/build.gradle.ktsβnamespaceandapplicationIdapp/src/main/AndroidManifest.xmlβandroid:authoritiesin theFileProvider- Rename the Java package directory from
com/bluebird/to your new package
| Limitation | Reason | Workaround |
|---|---|---|
| Wi-Fi cannot be toggled programmatically | Removed in Android 10 (API 29) by Google | Tapping Wi-Fi opens system Wi-Fi Settings |
| Bluetooth toggle | Deprecated for third-party apps in Android 13 | Tapping opens system Bluetooth Settings |
| MANAGE_EXTERNAL_STORAGE | Requires manual grant on Android 11+ | OOBE wizard provides a direct link |
| Notification Listener | Requires manual grant in system settings | OOBE wizard opens the settings screen |
| File deletions are permanent | Recycle Bin tracks metadata but File.delete() can't be reliably undone on all devices |
Items appear in Recycle Bin with restore option |
| Screen brightness control | Requires WRITE_SETTINGS which must be granted manually |
Settings β Display β System permissions |
| Wallpaper on lock screen | Android system lock screen is separate from the in-app lock screen | Use the in-app lock (Start β Power β Lock) for Bluebird's lock screen |
- Resizable floating windows (drag handles on edges/corners)
- Remote Schools built-in learning app (Uganda curriculum P1βS6)
- Taskbar auto-hide mode (hover to reveal)
- Multiple virtual desktops
- Window transparency controls
- Widget support (third-party app widgets on desktop)
- Clipboard manager
- Screen recording
- Keyboard shortcuts (for physical keyboards)
- Custom accent color picker (full color wheel)
- Cloud sync for settings and shortcuts
- Theming engine (custom themes beyond dark/light)
Contributions are warmly welcome! Here's how to get started:
Use the GitHub Issues tracker. Please include:
- Android version and device model
- Steps to reproduce
- Expected vs actual behavior
- Logcat output (filter by
com.bluebird)
- Fork the repository
- Create a branch:
git checkout -b feature/your-feature-name - Make your changes following the existing code style
- Test on a real device (emulators may not support all launcher features)
- Commit with a clear message:
git commit -m "feat: add window resize handles" - Push and open a Pull Request
- Follow Kotlin coding conventions
- Use Jetpack Compose best practices (hoisted state, stable parameters)
- Keep Composables small and focused
- Add
@Previewannotations where useful - State mutations must go through
LauncherViewModelβ never mutate state directly in a composable
| Branch | Purpose |
|---|---|
main |
Stable, released code |
develop |
Integration branch for next release |
feature/* |
New features |
fix/* |
Bug fixes |
release/* |
Release preparation |
MIT License
Copyright (c) 2025 Bluebird Contributors
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
| Library | License | Purpose |
|---|---|---|
| Jetpack Compose | Apache 2.0 | UI framework |
| Coil | Apache 2.0 | Image loading |
| Gson | Apache 2.0 | JSON serialization |
| Accompanist | Apache 2.0 | System UI, permissions, painter |
| Material Icons Extended | Apache 2.0 | Icon set |
| AndroidX DataStore | Apache 2.0 | Preferences persistence |
| AndroidX SplashScreen | Apache 2.0 | Splash screen API |
- Windows 11 by Microsoft β for the UI design language, Fluent Design system, and Acrylic material
- GitHub Issues: github.com/norbert-web/bluebird/issues
- Discussions: github.com/norbert-web/bluebird/discussions
- Email: trebronwayne@gmail.com
Made with π«‘πͺπ and Kotlin Β· β¬οΈ Back to top


