Skip to content
nikbulavin

nikbulavin/muzyakich

Live in production

🎵 An Android app for local music playback, built with Material 3 Expressive

🎵 An Android app for local music playback, built with Material 3 Expressive

1 1 since joining 0KotlinPush 2d agoListed 1mo agoApache-2.0

nikbulavin.github.io/muzyakich/

androidaudio-playercoilcomposedatastorefirebasehiltkotlin
  • Kotlin100.0%
View on GitHub

Report a problem

1 Review

Muzyakich is a polished Android music player with a clear focus on local playback, privacy, and modern design. The codebase is organized into core modules and smaller feature modules for albums, artists, songs, playlists, settings, and the player. That structure should make features easier to maintain as the application grows. It also uses current Android tools such as Kotlin, Jetpack Compose, Room, DataStore, Hilt, Media3, and baseline profiles. Database schema files are committed, which is a good sign for migration safety. The project has a Google Play release, localization through Crowdin, an Apache 2.0 license, contribution guidance, and a build workflow that is passing.

The main improvement area is automated testing. The repository contains a navigation test, but the visible test coverage is small compared with the size of the application. Playback queues, database migrations, playlist editing, MediaStore changes, favorites, sorting, and process restoration are all good candidates for unit or integration tests. Compose tests could cover larger text sizes, screen readers, landscape mode, empty libraries, permission denial, and narrow devices. These tests would provide stronger evidence for the README’s accessibility and seamless-use claims.

The privcy message could also be more specific. The README says music stays on the device, while the project structure and topics mention Firebase-related tooling. That may only support updates, analytics, or crash reporting, but users should not have to guess. A short privacy section should list every network service, what information it receives, whether tracking can be disabled, and whether the player works fully offline. Setup instructions for contributors would also improve the README. They should include the required Android Studio and JDK versions, build variants, Firebase requirements, and a command for running tests. Muzyakich already has a strong design and architecture. More tests and clearer privacy details would make it easier for users and contributors to trust.