Kord
A native, bit-perfect FLAC music player for iPhone & Mac — your local library decoded bit-for-bit and sent to your DAC exactly as it was mastered.

I kept buying FLACs on Bandcamp and Qobuz, and then had nowhere good to play them on my iPhone. The closest thing to a real local-file player on iOS was foobar2000. Even apps that advertise "lossless" tend to quietly resample or transcode on the way out, with a system mixer, hidden EQ, or loudness normalization sitting between the file and your DAC. The file you paid for never reaches your ears untouched.
So I built the player I wanted: made for audio gearheads, with an Apple philosophy. Kord is native Swift on both the iPhone in your pocket and the rig on your desk. It decodes FLAC bit-for-bit, switches the hardware sample rate to match the file, and hands the samples straight to the DAC — direct USB-C output on iPhone, exclusive CoreAudio hardware access on Mac. Everything else (EQ, lyrics, the library) exists to get you closer to the master, and stays out of the signal path.
Bit-perfect playback
FLAC decoded bit-for-bit with automatic sample-rate switching to match each file — no resampling, no system mixer in the path, no secret normalization. Direct DAC output on iPhone; exclusive hardware access on Mac.
Parametric EQ
Real per-band control — center frequency, gain and Q on every band — with saveable presets per device and instant bypass to A/B against the untouched signal.
Synced lyrics
Line-by-line lyrics that move in time with the music, highlighted as you listen and never a beat behind.
Self-organizing library
Point Kord at a folder and it reads tags, groups albums and artists, fetches artwork and lets you browse by artist, album or decade — so you spend your time listening, not filing.
Shipping a real audio app means owning the unglamorous edges long before any of it is visible: sample-rate switching, DAC routing, metadata that lies about what a file really is, a support channel. Keeping the source private but the triage public, through a feedback tracker with structured issue forms, turned out to be a clean way to involve listeners without exposing the build.


