Self-hosted music server/players

GainDrive

Full-featured OpenSubsonic-compatible server, and separate Web, Android and iOS players. Open source (GPLv3).

Components

Complete music self-hosting suite

Background

Why and how.

I have been using the original Subsonic server together with the DSub Android app for many years, but have always missed a few features, and the alternatives had other issues. GainDrive was started as an experiment to use AI to do most of the tedious work of writing both server and client apps from the ground up, using modern techniques and libraries, and adding the features I always wanted in a music server and player.

GainDrive Server came first. It was written over the course of a few weeks, with most of it going into thinking about what I really wanted it to do (e.g. the cast-from-server functionality, or the auto-rescan logic). The Android app then followed, in about a week's worth of work. The iOS app was built to mirror the Android app, and took another few days. I have occasionally tweaked small things in the source by hand (more so in the server than the clients), but most of it was written by Claude under my supervision.

GainDrive is what I need to self-host all the music I listen to, without the things I never use (your mileage may vary). Creating it with AI was a different kind of “fun” than doing it by hand, but without AI, I would most likely never have had the time to finish it.

— Kasper Peeters, August 2026