Wissens-App
Private Cross-Plattform-Wissensdatenbank (Mac/Windows/Linux): Volltext- und Kontextsuche über Tausende Artikel, Sprachnotizen und Transkripte. Komplett verschlüsselt, offline-fähig, Zero-Knowledge-Sync.
- Zeilen TypeScript · React
- 87.000
- Zeilen Rust
- 76.400
- automatisierte Tests
- 900+
- Datenbank-Migrationen
- 111
- Commits seit April 2026
- 1.145
- Systeme, eine Codebasis
- 3
Eine private Wissensdatenbank für alles, was man liest, hört und lernt. Artikel und eigene Texte werden gespeichert und organisiert; Sprachnotizen nimmt man direkt in der App auf, sie werden automatisch in durchsuchbaren Text umgewandelt; Buchseiten lassen sich abfotografieren und per Texterkennung übernehmen, eigene Word- oder Pages-Dokumente fügt man direkt ein.
Die Suche findet nicht nur exakte Begriffe, sondern auch Sinnzusammenhänge: Wer nach „Motivation“ sucht, findet auch den Absatz über Willenskraft, in Sekunden, über Tausende Artikel, Sprachnotizen und Transkripte hinweg.
Alles liegt verschlüsselt auf dem eigenen Rechner und funktioniert komplett ohne Internet; auf Wunsch gleichen sich mehrere Geräte ab, ohne dass irgendjemand mitlesen kann. Und die Sammlung bleibt in der eigenen Hand: Jederzeit lässt sich eine verschlüsselte Sicherung von allem anlegen, was man je hineingegeben hat. So bleibt auch in Jahren noch nachvollziehbar, was man heute gelesen, gehört und festgehalten hat: Das Datenmodell ist auf Jahrzehnte ausgelegt, eine Wissenssammlung fürs ganze Leben.
Technische Details
- Anwendungsrahmen: Tauri v2 mit Rust-Kern und React-Oberfläche. Aus einer Codebasis entstehen native Installer für Mac, Windows und Linux; alle Aufrufe zwischen Oberfläche und Kern laufen typisiert über 48 thematisch geschnittene Command-Module.
- Oberfläche: TypeScript 5 und React 18, 317 Quelldateien mit rund 87.000 Zeilen. Gebaut mit Vite 5 und Tailwind CSS, barrierefreie Basisbausteine aus 17 Radix-Primitives, darauf eine eigene Komponentenbibliothek.
- Anwendungskern: Rust in 63 Quelldateien mit rund 76.400 Zeilen. Darin liegen Datenbank, Verschlüsselung, Suche, Synchronisation, Import und Export sowie die Auswertungen.
- Datenbank: SQLite mit SQLCipher, die gesamte Datei ist im Ruhezustand mit AES-256 verschlüsselt. Direktes SQL statt ORM, damit sich das Schema über Jahrzehnte versionieren lässt.
- Schema-Pflege: 111 aufeinander aufbauende Migrationen über rund 95 Tabellen, jede transaktional mit ihrem Versionsstempel. Vor riskanten Schritten schreibt die App automatisch eine Sicherung; eine Datenbank aus einer neueren Version wird mit einem Klartexthinweis abgewiesen.
- Verschlüsselung: Argon2id nach OWASP-Empfehlung leitet aus der Passphrase den 256-Bit-Schlüssel ab, der Datenbank, Sync und Backup gemeinsam absichert.
- Volltextsuche: SQLite FTS5 über den gesamten Bestand und die eigenen Inhalte. Titel wiegen schwerer als Fließtext, und ein zweistufiges Ranking sortiert einen günstig ermittelten Kandidatenpool exakt nach.
- Kontextsuche: lokale Embeddings mit Snowflake Arctic Embed M v2.0 (768 Dimensionen), ausgeführt über eine fest einkompilierte ONNX-Runtime im Rust-Kern. Kein Modell-Download zur Laufzeit, kein Cloud-Dienst.
- Trefferliste: Volltext- und Bedeutungssuche laufen getrennt und werden per Reciprocal Rank Fusion zu einem Ergebnis verrechnet. Der Vektorindex liegt warm im Speicher, warme Kontextsuchen bleiben dadurch unter 100 Millisekunden.
- Transkription: Whisper base, mehrsprachig, in einem eigenen Worker direkt auf dem Gerät. Die Modellgewichte stecken im Installationspaket, in der App aufgenommene Sprachnotizen verlassen den Rechner nie.
- Texterkennung: Tesseract für abfotografierte oder eingescannte Druckseiten. Worker, WASM-Kern und Sprachdaten kommen aus lokalen Dateien statt von einem CDN, damit die Funktion auch offline arbeitet.
- Geschützte PDF-Anzeige: Kursunterlagen liegen ausschließlich verschlüsselt im Paket, werden im Rust-Kern entschlüsselt und mit pdf.js gerendert, ohne je als Klartext auf der Festplatte zu landen.
- Mehrgeräte-Sync: der Cloud-Speicher ist reiner Briefkasten. Jede Nutzlast wird vorher mit AES-256-GCM verschlüsselt, der Server sieht nur unlesbare Blöcke, und die gesamte Zusammenführungs- und Konfliktlogik sitzt im Client.
- Lizenzserver: eigener Dienst in Rust mit axum, als einzelne Binary hinter Caddy mit automatischem TLS und abgeschottetem systemd-Dienst. Freischaltungen sind mit Ed25519 signiert, deshalb kann die App ein zwischengespeichertes Urteil auch offline fälschungssicher prüfen.
- Qualitätssicherung: über 900 Rust-Testfunktionen und 112 Frontend-Testdateien, TypeScript im strict-Modus, zwei projekteigene Lint-Regeln. Eine Lastsimulation füllt eine echte Datenbank mit 25 simulierten Nutzungsjahren, um Indexentscheidungen und Speicherbudgets zu belegen.

