A modern, cross-platform block puzzle game built with Kotlin Multiplatform and Compose Multiplatform, sharing code between Android and iOS.
- 🧩 Classic block-puzzle gameplay with smooth animations
- 🎨 Polished Material 3 UI tuned for the Block Blast feel
- 📱 Single codebase for Android & iOS via Compose Multiplatform
- 💾 Persistent settings and best-score tracking
- 🎉 Confetti effects on big clears
- 🎵 Rotating background music across multiple tracks
- 📴 Fully offline — no account required
- ⭐ In-app review prompts on Android
- 📊 Firebase Analytics & Crashlytics
- Kotlin Multiplatform 2.3.21 — shared business logic
- Compose Multiplatform 1.10.3 — declarative UI for Android & iOS
- Material 3 — design system
- Decompose + Essenty — navigation & lifecycle
- MVIKotlin — predictable state management (MVI)
- Metro DI — compile-time dependency injection
- Kotlinx Coroutines / Serialization / Datetime
- Multiplatform Settings — cross-platform key/value storage
- Firebase (GitLive SDK) — Analytics, Crashlytics
- Google Mobile Ads + User Messaging Platform (Android)
- ConfettiKit — celebratory effects
- Baseline Profiles — Android startup performance
BlockBlast/
├── androidApp/ # Android entry point (Activity, manifest, ads, Firebase)
├── iosApp/ # iOS entry point (SwiftUI host)
├── composeApp/ # Shared Compose UI (commonMain, androidMain, iosMain)
├── core/
│ ├── common/ # Common utilities
│ ├── domain/ # Business logic, models, use cases
│ └── data/ # Repositories, persistence
├── feature/
│ ├── root/ # Navigation root
│ ├── home/ # Home screen
│ ├── game/ # Game screen and logic
│ └── settings/ # Settings
├── build-logic/ # Convention plugins for Gradle
└── fastlane/ # Store metadata & changelogs
- JDK 17+
- Android Studio Ladybug or later
- Xcode 15+ (iOS, macOS only)
- Your own Firebase project — see below
This repo does not ship Firebase config files. Create your own Firebase project and drop in:
androidApp/google-services.jsoniosApp/iosApp/GoogleService-Info.plist
./gradlew :androidApp:assembleDebug
./gradlew :androidApp:installDebugOpen iosApp/iosApp.xcodeproj in Xcode and run.
./gradlew testContributions are welcome! Feel free to open an issue or submit a PR.
- ton: UQCi1XMdZP2fBfTK-O6rsAX3fXEm5iBpjO1D6FDekdUDQnaw
- btc: bc1qv2m03vg23227yfnlu0c0jx2ps5yg8v8kvy748s
- eth: 0xdF196759E996Fe684c33416282F30d6B9A0b325e
- usdt(erc20): 0xdF196759E996Fe684c33416282F30d6B9A0b325e
- bnb: 0xdF196759E996Fe684c33416282F30d6B9A0b325e
- usdt(trc20): TYrBMc4yN4k8im2Qq2G17hv9VdmcYFngpT
This project is open source and available under the MIT License.



