Behind the App
Entwicklungsgeschichten hinter den Kulissen von Radio Adfree.
CarPlay und Android Auto: Die App fährt mit
Vom Template-Layout bis zum nativen Kotlin-Player: warum die Auto-Integration erst funktionierte, als sie aufhörte, eine Fernbedienung für die App zu sein.
Stream-Aufnahme und Shazam Songerkennung: Wenn der Proxy mehr kann als geplant
Feature-Emergenz: Der Proxy leitet alle Audio-Daten durch – warum nicht mitschneiden? Und wieso nicht auch das ShazamKit damit versorgen? Aus einem Visualizer-Baustein werden zwei neue Features.
Die Visualizer-Odyssee: Von Fake-Charts zum nativen Audio-Proxy
Fünf Akte: vom geerbten Web-Visualizer über Fake-Daten in Safari und einen iOS-Prototyp bis zum nativen Audio-Proxy, der am Ende immer läuft.
Radio-Apps ohne Werbung 2026 im Vergleich
TuneIn, radio.de PRIME, phonostar, Simple Radio und Radio Adfree im Vergleich: Kosten, App-Werbung, Senderwerbung und kostenlose Alternativen.
Eine App ist mehr als eine App – Frontend, Backend, API, Infrastruktur
Unter dem Eisberg: Warum die App ohne Infrastruktur nicht mehr als ein Musik-Player wäre, was das Backend alles macht und warum wir unsere eigene API hosten.
Wie ein Open-Source-Fork zur nativen Radio-App wurde
Teil 1 der Serie 'Behind the App' - Vom React-Kursprojekt über den Weihnachts-Fork zum ersten Commit der nativen App.
Bald verfügbar
Geplante Beiträge der Serie „Behind the App" – Titel und Themen können sich noch ändern.
Der Kampf mit den Metadaten: ICY, Now Playing und warum Radio-Streams keine Podcasts sind
Ein 25 Jahre altes Protokoll auf modernen Geräten: Fallback-Ketten, OGG-Streams und Titel-Parsing im Minenfeld.
Dark Mode ist nicht einfach Schwarz: Die endlose Theme-Geschichte
PaperProvider-Hölle, isolierte React-Trees und „Final (?) theme color fix" – warum der letzte Commit im Repo ein Dark-Mode-Fix ist.
AI-Assisted Development: Wenn Claude, Codex und Cline mitbauen
Cline für Theme-Switching, Codex für Performance-Optimierung, Claude für Swift, Kotlin, Docs und Reviews. Wann trauen, wann prüfen?
Von Google Maps zu MapLibre: Open Source als Befreiung
Radiosender auf der Weltkarte: Erst Google Maps mit API-Key, dann Migration zu MapLibre. Was ging glatt, was nicht?
Sprachsuche: „Hey App, spiel mir Jazz"
Sender per Sprache suchen statt tippen. Erster Versuch entfernt, zweiter Anlauf erfolgreich.
Podcasts: Zweimal gebaut, einmal richtig
Ein halbfertiges Feature entfernen braucht Mut – führt aber zum besseren Ergebnis. Kill your darlings.
Expo-Upgrades ohne Tränen: SDK 52 → 54 → 55
Expo MCP Server FTW, LinearGradient → CssGradient, React 18 → 19 und die ewige PaperProvider + ExpoRouter-Kombination.
Monetarisierung einer Indie-App: Paywall, RevenueCat und die Premium-Frage
Was ist Premium, was ist kostenlos? RevenueCat als IAP-Abstraktion, Paywall-Crashes auf Android und Webhook-Validierung.
Growth Hacking für Indie-Devs: Deep Links, Referrals und der perfekte Share-Moment
Share-Momente im Player, Universal Links, Race Conditions und Referral-Codes über RevenueCat. Growth ohne Marketing-Budget.
Lektion gelernt! Stolpersteine, Bugs, neue Techniken, Tipps und Tricks
Push-Nachrichten, Universal Links, Referrals, Bugs, Verträge, App-Stores und Freigaben. Was ich gelernt habe.