Transparency

How Macdio is built.

Macdio is a solo project. Here is an honest look at how the app works, what data it touches, and what goes into building it.

Who builds Macdio

Macdio is a solo-developer project by Sait Fırat Nemis. There is no company behind it, no team, no investors. Just one person building a radio app that felt missing from the App Store.

I handle the SwiftUI code across all six platforms, the website, the App Store presence, and the support inbox. If you email support@macdio.app, you are reaching me directly.

How it is built

Macdio is 100% native Swift and SwiftUI. No Electron, no React Native, no web views. Every screen is written specifically for the platform it runs on: iPhone, iPad, Mac, Apple TV, Apple Watch, and CarPlay.

Like most developers in 2026, I use modern AI-assisted tools as part of my workflow, for exploring edge cases, prototyping ideas, and working through tricky debugging sessions. But the core architecture, the design decisions, the performance tuning, and the final shipped code all come from deliberate research and hands-on iteration. I care about getting the details right, and that means understanding every layer of the stack rather than accepting whatever a tool generates.

Data sources & APIs

Macdio does not have its own station database. It relies on public APIs to provide station listings, now-playing metadata, and lyrics. Here is what the app talks to:

Radio Browser

Community-maintained database of internet radio stations. Provides station metadata, stream URLs, country info, and genre tags. This is where the catalog of tens of thousands of stations comes from.

radio-browser.info ↗

iTunes Search API

Apple's public search API, used to enrich now-playing information by fetching album artwork, release year, and album name based on the track metadata that radio stations broadcast.

iTunes Search API ↗

LRCLIB

Open-source, free lyrics API. Provides synchronized (LRC format) and plain-text lyrics for the currently playing song. No API key required, no tracking.

lrclib.net ↗

Dependencies

Macdio has a minimal dependency footprint. The app itself uses zero third-party Swift packages. It is built entirely with Apple's own frameworks (SwiftUI, SwiftData, AVFoundation, CloudKit, MediaPlayer).

This website is just as lean. It ships with no web fonts and no 3D libraries. Typography uses the system font already on your Apple device, and every animation is plain CSS and JavaScript. The external services are:

NamePurposeType
Google Analytics Anonymous page-view analytics (website only) Web
Cloudflare Web Analytics Cookie-free visit counting, added at the edge by the host (website only) Web
Radio Browser Station data for the directory page, queried from your browser (website only) Web
Formspree Delivers the Submit a Station form. What you type there, including the email address if you fill that field in, goes to Formspree and then to me by email. Nothing on any other page touches it. Web
Station logo servers On the directory page each station logo is loaded from that station's own server, so those servers see your IP address. The requests are sent with no referrer, and a logo that fails to load is replaced with a local glyph. Nothing is proxied through this site. Web

Changelog

Macdio's full version history and release notes are available on the App Store listing. Every update describes exactly what changed.