05 — Under the surface
Built with familiar, inspectable tools.
SMusic is written in Kotlin. The interface is declarative, playback is handled by AndroidX Media3, and local library data is stored with Room. The source and module boundaries are public.
Kotlin 2.3Primary application and module language
Jetpack ComposeCompose UI · Material 3 · Navigation Compose
AndroidX Media3ExoPlayer · Media Session · OkHttp data source
RoomLocal database, entities, DAOs and migrations
Hilt + KSPDependency injection and symbol processing
CoilArtwork and image loading · SVG support
Ktor + OkHttpHTTP clients, API requests and serialization
WorkManagerBackground jobs, scheduled work and update checks
DataStorePersistent app preferences
Firebase MessagingPush notification delivery
NewPipe ExtractorExtraction support used by the InnerTube module
Charts & document toolsMPAndroidChart · iTextG
Interface utilitiesHaze · Shimmer · Reorderable · ConstraintLayout · Glance