Why it breaks
Streaming from a home server is a different problem from streaming from Spotify. Your uplink is often a few megabits, a FLAC track is 30 to 50 MB, and the car moves through cell handoffs, tunnels and dead zones. Most clients buffer a handful of seconds of the current track and nothing of the next one; the first hiccup produces a stall, and the second one an error that stops the queue.
The one-star reviews of the category say it in every language: “stops in the car”, “sync takes forever”, “downloads silently disappear”. None of it is the server's fault — it is a client design problem.
The fix: a verified reserve, not a buffer
RoadSonic keeps a pinned reserve of complete tracks on the iPhone — 20, 30 or 60 minutes, your choice — chosen from what you are likely to play next: the Radio queue, favorites, recent listens. Each file is downloaded in full, checked by size and SHA-256, and only then counted. The “Ready for the road” badge appears when at least 20 minutes are verified.
While you drive, the current track and the two after it are protected, the following ones download progressively up to an hour or twenty tracks ahead, and if the network drops, playback continues from what is already on the device. When the requested track is not available, RoadSonic switches to the reserve and tells you why instead of stopping.
Album downloads that behave
For a road trip, download whole albums. In RoadSonic a download is visible with its progress, resumes after a lost connection without re-fetching the bytes already stored, is verified after transfer and is never evicted automatically — only the reserve and the queue compete for the cache budget. Choose 2, 5, 10 or 20 GB in Settings; the default is 5 GB.
Search and browse offline
A car is where you cannot wait for a search request to hit a server on the other side of a 4G link. RoadSonic indexes the entire library on the device — full-text, accent-insensitive — so the Find tab on CarPlay answers instantly, and Artists and Albums browse the local index. Nothing on the car screen depends on the server answering.
Practical tips
Let the reserve fill on Wi-Fi before leaving; it shows up in Settings › Audio cache. Enable transcoding on the server for cellular if your uplink is slow — Navidrome and gonic can serve Opus at 128 kbps to RoadSonic while keeping FLAC at home. Keep HTTPS on: the app refuses unencrypted remote HTTP, and a reverse proxy with a certificate takes ten minutes. And if you use several servers, connect them all: RoadSonic will play the copy that is already cached, whichever server it came from.