Technologien
Diese Liste ist kein Katalog dessen, was es gibt, sondern dessen, was in unseren eigenen Produkten läuft. Zu jedem Bereich steht deshalb dabei, wo er im Einsatz ist.
Kryptografie und Sicherheit
Offene, geprüfte Standards statt Eigenbau. Der sicherheitskritische Teil ist vom Anwendungscode getrennt und existiert genau einmal für alle Plattformen.
- MLS (RFC 9420)
- OpenMLS
- Rust
- Forward Secrecy
- OAuth 2.0
- Schlüsselspeicher des Betriebssystems
Der kryptografische Kern unseres Messengers ist in Rust geschrieben und vollständig von der Anwendung getrennt. iOS, Android, Windows, macOS und Linux verwenden dieselbe Umsetzung, mit identischem Verhalten auf jedem Gerät. Sicherheitsprüfungen betreffen dadurch genau eine Stelle statt fünf.
Für Schlüsselaustausch und Sitzungsverwaltung setzen wir auf Messaging Layer Security nach RFC 9420 über OpenMLS. Der Standard erkennt Manipulation und sichert Forward Secrecy zu: ein später kompromittierter Schlüssel gibt frühere Nachrichten nicht preis.
Private Schlüssel entstehen im Schlüsselspeicher des Betriebssystems und verlassen ihn nie. Der Server verarbeitet ausschliesslich Chiffrat, ein kompromittierter Server bedeutet deshalb keine gelesenen Inhalte.
Daten und Suche
Datenmodelle, deren Antwortzeit nahezu konstant bleibt, statt mit dem Bestand zu wachsen.
- PostgreSQL
- pgvector
- HNSW-Index
- Cloud Firestore
- Vektor- und Volltextsuche
- Warteschlangen
Der Empfehlungsfeed unserer Social-Media-Plattform rankt mehrstufig. Ein HNSW-Vektorindex auf pgvector ermittelt zuerst die semantisch nächstliegenden Kandidaten, erst danach greift die teurere Bewertung aus Interessenprofil, Aktualität, Popularität und Diversität. Die Rechenzeit bleibt dadurch nahezu konstant, unabhängig davon, wie gross der Gesamtbestand wird.
Datenstrukturen legen wir so an, dass Millionen Beiträge verwaltet und relevante Inhalte gefunden werden können, ohne die Datenbank vollständig zu durchsuchen.
Was nicht sofort fertig sein muss, läuft über Warteschlangen: Medienverarbeitung, Analysen, Versand. Lastspitzen verlängern dann eine Schlange, statt Antwortzeiten zu verschlechtern.
Maschinelles Lernen
Modelle auf dem eigenen Datenbestand trainiert und ehrlich gemessen: was erkannt wird, was nicht, und ab wie vielen Daten es trägt.
- PyTorch
- CUDA
- CLIP ViT-L/14
- YOLO11
- Faster R-CNN
- PatchCore
- Florence-2
- scikit-learn
Jeder Upload auf unserer Plattform durchläuft eine mehrstufige Analyse. CLIP ViT-L/14 überführt das Bild in ein 768-dimensionales Embedding, ein Bildbeschreibungsmodell erzeugt Text und Schlagwörter, ein Klassifikator markiert heikle Inhalte.
Für Objekterkennung arbeiten wir mit YOLO11 und Faster R-CNN, für Anomalieerkennung mit PatchCore. Welches Verfahren zum Einsatz kommt, entscheiden Messungen auf den echten Daten und nicht der Ruf des Modells.
Training läuft lokal auf eigener Hardware mit CUDA. Zwischenstände werden gesichert, sodass ein Lauf fortgesetzt statt neu begonnen wird, und jede Änderung wird gegen denselben Prüfsatz gemessen, damit Zahlen über Wochen vergleichbar bleiben.
Infrastruktur und Betrieb
Jede Änderung geht über denselben reproduzierbaren Weg live und lässt sich zurücknehmen. Überwachung meldet sich, bevor Besucher etwas merken.
- Google Cloud
- Cloud Tasks
- Docker
- S3-kompatibler Objektspeicher
- Cloudflare R2
- Content-Delivery-Netz
- Eigene Server
Zeitgesteuerte Arbeit läuft über Cloud Tasks. Jeder geplante Vorgang bekommt einen eigenen Task mit exakter Auslösezeit, bis zu 30 Tage im Voraus. Der Taskname wird deterministisch abgeleitet, wodurch bereits das Anlegen idempotent ist: zwei Auslöser erzeugen denselben Task, nicht zwei.
Warteschlangen stellen grundsätzlich mindestens einmal zu. Ohne zusätzliche Absicherung entstehen daraus Doppelausführungen, deshalb gibt jeder Vorgang zusätzlich genau einmal frei, was zu tun ist.
Dateien liegen inhaltsadressiert in S3-kompatiblem Objektspeicher, ausgeliefert über ein Content-Delivery-Netz. Wo Daten das Haus nicht verlassen dürfen, läuft dasselbe auf eigenen Servern.
Anwendungen und Oberflächen
Eine Codebasis, auf jedem Gerät dasselbe Verhalten. Welches Framework, entscheidet das Projekt und nicht die Gewohnheit.
- Flutter
- React Native
- iOS und Android
- Windows, macOS, Linux
- React
- Next.js
- TypeScript
- Virtualisierte Listen
Wir arbeiten mit Flutter und React Native. Beide haben Stärken, die je nach Projekt den Ausschlag geben: enge Anbindung an bestehenden nativen Code, Anforderungen an die Darstellung, vorhandenes Wissen im Team des Kunden.
Grosse Listen stellen wir virtualisiert dar und laden vorausschauend nach. Übertragen wird nur, was tatsächlich gebraucht wird, damit auch sehr grosse Bestände auf dem Handy flüssig bleiben.
Veröffentlichung im App Store und bei Google Play gehört dazu, von Zertifikaten und Signierung über die Review-Auflagen bis zu Updates und Absturz-Auswertung nach dem Start.
Eigene Server
Nicht alles gehört in die Cloud. Wo Daten das Haus nicht verlassen dürfen, betreiben wir eigene Hardware.

Eigene Server ergeben dort Sinn, wo Vorgaben oder Verträge es verlangen, wo Datenmengen die Cloud teuer machen, oder wo eine dauerhaft laufende Berechnung günstiger auf eigener Hardware liegt als auf gemieteter. Für das Training unserer Modelle gilt genau das.
Wir betreiben beides und mischen, wo es passt: rechenintensive Arbeit und sensible Daten im Haus, weltweite Auslieferung über ein Content-Delivery-Netz. Was wo läuft, ist eine Entscheidung pro Projekt und keine Grundsatzfrage.