Watch More
Een native iOS- en Android-speler voor eigen Xtream- en M3U-bronnen — geen ingebouwde content, geen account, geen telemetrie.

Context
Watch More is een speler, geen dienst: geen ingebouwde IPTV-service, geen providers, geen aanbevelingen. Gebruikers spelen de bronnen af waar ze al toegang toe hebben, volledig lokaal — inloggegevens verlaten het apparaat niet.
Beperking
Twee platformen (iOS en Android), twee talen (Swift en Kotlin), en de eis dat ze zich identiek gedragen — zonder gedeelde broncode, want de platformen delen geen runtime.
Besluiten
- Gedrag geborgd door 114 uitvoerbare conformance-vectoren in plaats van gedeelde code: elke gedragswijziging vereist bijgewerkte testvectoren én beide implementaties die slagen op dezelfde pull request.
- De volledige Swift-kern is op Windows ontwikkeld en getest, zonder Xcode — met een Swift 6-toolchain. Dat is waarom de kern uitsluitend op Foundation bouwt, zonder externe dependencies.
- Streaming M3U- en XMLTV/EPG-parsers, benchmarked op een 100.000-regels catalogus.
- Privacy als ontwerpprincipe: geen account, credentials in Keychain, alleen geredigeerde logregels toegestaan, en een offline demomodus voor App Review.
Wat het kost om te draaien
Geen hosting nodig — de app draait volledig op het apparaat van de gebruiker. Distributie via TestFlight (iOS) en een Play Store-staging (Android), zonder gehoste CI: één lokaal gate-script (check-parity.sh) valideert Swift-tests, conformance-vectoren, schema en strings voor elke release.
Wat ik zou aanpassen
De eerste conformance-vectoren waren te grofmazig; met de kennis van nu zou ik ze vanaf het begin op functieniveau schrijven in plaats van op scenario-niveau, wat regressies eerder zichtbaar had gemaakt.
Vergelijkbaar vraagstuk?
Vrijblijvend kennismaken over cross-platform productontwikkeling.