Bitcoin.Alive is an unofficial Android client for accessing Bitcoin.live content, that I built for myself.
It allows me to easily play Bitcoin.live videos in full screen in my car without fiddling with the website. Main features are:
- Easily control video speed
- Auto switch to landscape mode when in full screen
- Keep screen on while video is playing
- Allow playing even if phone is locked
This was built mainly with Gemini 3 Flash, as I'm not an Android dev.
- UI Framework: Jetpack Compose
- Material Design: Material 3
- Networking: Retrofit & OkHttp
- Image Loading: Coil
- Concurrency: Kotlin Coroutines & Flow
- Dependency Injection: Manual DI (Modularized Architecture)
- Data Storage: Jetpack DataStore
- Video Playback: Media3 / ExoPlayer
- Navigation: Navigation Compose
The project follows a clean architectural approach, separating concerns into distinct layers:
com.example.bitcoinalive.ui: Compose screens, ViewModels, and UI themes.com.example.bitcoinalive.data.model: Domain data models.com.example.bitcoinalive.data.repository: Repository implementations for managing data flow.com.example.bitcoinalive.data.remote: API service interfaces and network interceptors.com.example.bitcoinalive.di: Manual dependency injection setup.
- Android Studio Koala | 2024.1.1 or newer.
- Android SDK 35 (Targeted).
- Minimum Android version: 24 (Android 7.0).
- Clone this repository.
- Open the project in Android Studio.
- Sync the project with Gradle files.
- Run the app on an emulator or a physical device.
MIT