Case study · IDAGIO · 2018 – 2022
Gapless, lossless playback for people who notice
I owned the player SDK of the classical-music streaming service IDAGIO — implementing the gapless, lossless playback that classical listening demands, rebuilding buffering, and turning the player into a proper standalone SDK.
- Role
- iOS Developer, later iOS Team Lead
- Where
- Berlin
- Outcome
- Gapless, lossless playback shipped — still the product's signature
The problem
Classical music breaks the assumptions every mainstream streaming player is built on. Movements flow into one another, so even a few milliseconds of silence between tracks audibly ruins a symphony. And the audience hears compression artifacts that pop listeners never notice — lossless isn’t a luxury tier, it’s table stakes.
IDAGIO’s iOS playback ran on an aging Objective-C library that was tightly coupled to the app and couldn’t deliver either guarantee.
What I built
- Gapless playback — reworked the playback pipeline so consecutive tracks decode and hand off without an audible seam, meeting the standard classical listeners measure by.
- Lossless support — brought the pipeline up to FLAC-quality streaming alongside the existing compressed tiers.
- Buffering, rebuilt — improved the buffering strategy on the Objective-C playback library so long works survive real-world networks.
- A real SDK — decoupled the player from the app into a standalone module with its own interface, added Swift unit tests around the playback logic, and improved CI so the player could evolve safely.
Owning more than the code
After IDAGIO was acquired and layoffs reshaped the team, I took over as iOS Team Lead — roughly 70% hands-on implementation, 30% management. I simplified the team’s processes and owned mentoring, onboarding, code quality, and delivery for the iOS app through the transition.
Why it matters
Gapless, lossless playback is the experience IDAGIO is publicly known for — it’s the feature reviewers and listeners cite. It’s also the kind of problem I like best: invisible when it works, unforgivable when it doesn’t.