Most cross-platform desktop music players ship a full Chromium browser inside Electron or wrap a web app in a system WebView. That approach is quick to ship, but it costs 400 to 800 MB of idle RAM just to keep a playback queue open in the background.
When I brought Levyra to Windows 10 and 11, I wanted to share the Kotlin core from the Android app without turning the desktop player into a browser tab. Compose Multiplatform lets both platforms share the UI, state machines, synced lyrics canvas, and playlist database while rendering through Skia on DirectX and OpenGL.
For audio output on Windows (x64), Levyra runs on a bundled JVM 21 runtime and talks directly to native libVLC binaries through vlcj C bindings. Because there is no Chromium V8 heap or DOM tree sitting behind the window, memory usage during idle and background playback stays roughly 60% to 75% lower than an Electron wrapper.
Every non-trivial change across Android and Windows is checked with repository quality-gate scripts before release, paired with a PowerShell ADB qualification script that installs debug APKs on a real phone, inspects MediaSession state, and records memory diagnostics.