Schnack — Privater Messenger
APP·Juli 2026

Schnack — Privater Messenger

Ein kompletter Messenger-Stack aus einer Hand — native Apps, eigener Server, Ende-zu-Ende-Verschlüsselung und Echtzeit-Spiele, ohne Datenhunger

PROJEKT

Schnack — Privater Messenger

TECHNOLOGIEN

iOSAndroidSwiftUIJetpack ComposeE2E-VerschlüsselungSocket.ioNext.jsPostgreSQL

Herausforderung

Messenger gehören zu den anspruchsvollsten Anwendungskategorien überhaupt: Echtzeit-Kommunikation, Kryptografie, Push-Benachrichtigungen, Medienverarbeitung und Offline-Fähigkeit müssen über mehrere Plattformen hinweg nahtlos zusammenspielen. Genau deshalb wollte ich einen bauen — als privates Produkt und als technische Gesamtübung.

Der Anspruch: ein Messenger, der sich bewusst gegen den Zeitgeist stellt — kein Feed, keine Kanäle, kein „Entdecken“, kein Tracking, keine Werbung. Nur die Menschen, die man wirklich kennt. Und dabei kompromisslos privat.

Daraus ergaben sich drei harte Anforderungen:

  • Ende-zu-Ende-Verschlüsselung für alles — Nachrichten, Fotos, Videos und Dateien; der Server darf zu keinem Zeitpunkt Inhalte lesen können (server-blind)
  • Native Apps für iOS und Android mit identischem Krypto-Wire-Format, dazu ein Web-Companion — drei Clients, ein Protokoll
  • Echtzeit als Grundprinzip — Zustellung, Lesebestätigungen, Tipp-Indikatoren und sogar Spiele wie Backgammon laufen live über dieselbe Infrastruktur

Lösung

Ich habe Schnack als vollständigen Stack entworfen und gebaut: Server, iOS-App, Android-App und Web-Messenger. Drei Leitgedanken bestimmten die Umsetzung.

Verschlüsselung ohne Kompromisse

Jede Nachricht wird pro Empfänger einzeln verschlüsselt: Curve25519-Schlüsselaustausch, AES-GCM-256 für die Inhalte, HKDF für die Schlüsselableitung. Die privaten Schlüssel verlassen nie das Gerät — auf iOS gesichert im Keychain, auf Android im KeyStore. Medien werden vor dem Upload mit einem eigenen Media-Key verschlüsselt, der seinerseits nur verschlüsselt übertragen wird. Für den Gerätewechsel gibt es ein passwortgeschütztes Schlüssel-Backup, mit dem sich die komplette Historie auf einem neuen Gerät entschlüsseln lässt.

Nativ statt Cross-Platform

Die iOS-App ist in SwiftUI mit SwiftData-Persistenz gebaut, die Android-App in Kotlin mit Jetpack Compose — beide gegen dasselbe API- und Krypto-Wire-Format. Das kostet zunächst doppelte Arbeit, zahlt sich aber in Bediengefühl, Performance und Plattform-Integration (APNs/FCM-Push, Photo-Picker, Keychain/KeyStore) aus. Ein Web-Messenger mit QR-Code-Login ergänzt die Apps als Companion am Desktop.

Echtzeit als Fundament

Der Server — ein Next.js Custom Server mit Socket.io, Prisma und PostgreSQL — behandelt alles als Echtzeit-Ereignis: Nachrichten, Online-Presence, Tipp-Indikatoren, Lesebestätigungen. Auf derselben Grundlage laufen komplette Spiele direkt im Chat: Backgammon mit Doubling-Cube, Othello und ein Snake-Score-Duell — Zug für Zug live zwischen den Geräten. Der Server ist quelloffen und lässt sich auf eigener Infrastruktur hosten.

Ergebnisse

Schnack ist veröffentlicht und im Einsatz — als vollständiges Produkt vom Protokoll bis zum App-Store-Release:

  • Live im Apple App Store, Android als direkter APK-Download, Web-Messenger als Desktop-Companion
  • Durchgängige Ende-zu-Ende-Verschlüsselung für Nachrichten, Medien und Dateien — der Server bleibt blind
  • Echtzeit-Spiele im Chat: Backgammon, Othello und Schnake
  • Gruppen, Multi-Image-Nachrichten, Video-Messages, Link-Previews, Lesebestätigungen und Tipp-Indikatoren
  • Quelloffener, selbst hostbarer Server — betrieben via Docker und Coolify auf eigener Infrastruktur
  • Kein Tracking, keine Werbung, kein Datenhandel — komplett kostenlos

Das Projekt zeigt die ganze Spannbreite: Protokoll-Design und Kryptografie, zwei native Apps, Realtime-Backend, Push-Infrastruktur und der komplette Release-Prozess bis in den App Store.