Tech-Stack: Kotlin Multiplatform & E2E
Architecture Deep-Dive
Kotlin Multiplatform (KMP)
Eine Codebase, native UI auf iOS und Android. Geteilte Business-Logik, Networking, State-Management. iOS bekommt ein nativ kompiliertes Framework via Kotlin/Native, Android läuft direkt auf der JVM. Der Preis dafür sind Fehlerklassen, die es sonst nicht gibt: Was im Simulator läuft, kann auf dem echten Gerät sterben — fehlende Frameworks, Speicherlimits, Threading-Regeln, die nur iOS kennt. Aus 215.000 Zeilen KMP haben wir die fünf häufigsten davon aufgeschrieben: Fünf Fallen, die erst am Gerät auftauchen.
Compose UI
Compose Multiplatform für deklarative UIs auf beiden Plattformen. iOS-Adaption via SwiftUI-Interop wo Plattform-spezifische Komponenten nötig sind.
Firebase EU
Firestore für Realtime-Sync, Cloud-Functions für Server-Logik, Auth via Magic-Link. Datenbank und Storage in der EU-Region — DSGVO-konform. Datenschutz endet aber nicht bei der Serverregion: Ein vollständiger Löschpfad muss jede Kopie erwischen — warum das schwerer ist, als es klingt, haben wir hier aufgeschrieben: Warum euer Löschpfad wahrscheinlich lückenhaft ist. Einzelne Backend-Funktionen laufen auf Google-Cloud-Standorten außerhalb der EU; ein Auftragsverarbeitungsvertrag mit Google besteht.
E2E-Crypto
Chats sind End-to-End-verschlüsselt. X25519 für Key-Exchange, AES-256-GCM für Symmetric-Encryption. Server kann eure Nachrichten nicht lesen — by design. Drei Plattformen bedeuten drei Krypto-Wege, die dasselbe Ergebnis liefern müssen; wo dabei die Fallstricke liegen, steht hier: Ende-zu-Ende-Verschlüsselung in einer Mobile-App.
WebRTC für Voice
1:1-Sprachanrufe laufen als echtes P2P direkt zwischen den Geräten: kein Server im Medienpfad, nur das Signaling läuft über Firestore. Gruppen- und Videoanrufe brauchen dagegen einen SFU-Server (LiveKit) — ein Mesh mit bis zu zwölf Teilnehmern hieße elf gleichzeitige Verbindungen pro Gerät und wäre auf Mobilfunk nicht tragfähig. Verschlüsselt sind beide Wege.
Matching-Algorithmus
11-dimensionaler Genre-Vektor pro User, berechnet aus Watchlist + Watching-Recency. Match-Score via Cosine-Similarity. Studio-Bias als zusätzliche Feature-Layer. Alles client-side berechnet — Privacy first.
Landing (diese Seite)
Static HTML + vanilla JS auf Vercel Edge. Keine Frameworks, keine Build-Steps für Pages. 12 Serverless-Functions für Firestore-API. Sub-100ms TTFB weltweit.
Module-Struktur
47 Feature-Module in der KMP-Codebase: core-data, core-ui, feature-matching, feature-chat, feature-voice, feature-watchlist, feature-stories usw. Jedes Modul ist eigenständig testbar.
Performance-Targets
Mehr Tech-Details? Schau in den Founder-Devlog.
Zum Founder