Über Taijobi

Taijobi

Persönliche Vokabel-Engine.
Lokal. Privat. Offline.

Von Komiljon Maksudov · Zig + Svelte + SQLite

Privatsphäre

Kein Tracking. Keine Telemetrie. Niemals.

Open Source

Quellcode offen auf GitHub.

Datenschutz im Detail

🔒

Lokal gespeichert

SQLite im OPFS deines Browsers. Kein Cloud-Konto nötig.

🔐

Ende-zu-Ende verschlüsselt

Sync nutzt XChaCha20-Poly1305. Der Server sieht nur Chiffretext.

📚

Wörterbücher embedded

CEDICT & Wiktionary laufen lokal in WASM. Keine API-Calls.

🚫

Kein Tracking

Keine Analytics, keine Telemetrie, kein Google.

👤

Kein Account

Kein Passwort, keine E-Mail. Sync-Schlüssel ist die Identität.

⚡

Library is the product

libtaijobi (Zig) trägt die Logik. Web ist nur ein Renderer.

Auf GitHub ansehen

Häufig gestellte Fragen

Was ist Taijobi?

Eine lokale Vokabel-Engine für jede Sprache, der du begegnest. Tiefer Chinesisch-Support, Lehrbuch-Pakete (HSK, Lóng) und Spaced Repetition mit FSRS — alles in einer App. Inspiriert von libghostty: die Bibliothek (libtaijobi in Zig) ist das Produkt, Web und iOS sind dünne Hüllen.

Warum wurde Taijobi neu geschrieben?

Das alte Taijobi war ein klassisches Web-Projekt: SvelteKit-Frontend, Supabase/PocketBase als Cloud-DB, Backend-API-Routes für jede Operation, Auth-System mit Konten und Sessions, Docker auf Fly.io, nur Japanisch mit englischer UI, und kein Offline-Modus. 765 Commits, davon das meiste Infrastruktur. Der Rewrite wurde irgendwann komplett zum Stillstand gebracht. Das neue Taijobi dreht das Modell um: libtaijobi (Zig) IST das Produkt, kompiliert zu WASM für Web und zu .a für iOS, alle Logik und SQLite lokal, OPFS statt Cloud-DB, Sync-Schlüssel statt Auth, Cloudflare Pages statt Docker, multi-language statt nur Japanisch, offline-first statt online-only. Die gleiche Architektur wie wimg — bewährt, nicht experimentell — und libhanzi/libtaijobi steht im Mittelpunkt, die UIs sind dünne Hüllen darüber.

Was ist FSRS und wie funktioniert das Üben?

FSRS (Free Spaced Repetition Scheduler) ist ein moderner Wiederholungs-Algorithmus, der vorhersagt, wann du eine Karte vergisst. Du bewertest jede Karte mit 1–4 (Nochmal, Schwer, Gut, Einfach), und der Algorithmus plant das nächste Review. Implementiert in reinem Zig — keine Rust-FFI, kein externer Dienst.

Was bedeutet „gemeistert" auf der Lektionsseite?

Eine Karte zählt als gemeistert, sobald FSRS ihre Stabilität auf mehr als 5 Tage geschätzt hat — also wenn der Algorithmus dir mindestens 5 Tage Pause bis zur nächsten Wiederholung gibt.

Frisch gedrillte Karten haben nach einer „Gut"-Bewertung typisch 1–2 Tage Stabilität, der Zähler bleibt also direkt nach dem ersten Drill auf 0/N — das ist Absicht, nicht ein Bug. Mit jeder weiteren korrekten Antwort verdoppelt sich die Stabilität ungefähr; nach etwa einer Woche regelmäßigem, richtigem Üben kippt eine Karte typischerweise auf gemeistert.

Dass eine geübte Karte direkt danach nicht mehr im Drill auftaucht ist normal — sie ist erst wieder fällig, wenn ihr nächster Review-Termin erreicht ist. Mit „Vorziehen" kannst du sie früher holen.

Sind meine Daten sicher?

Ja. Alle Karten, Reviews und Pakete liegen in einer lokalen SQLite-Datenbank im OPFS deines Browsers. Sync ist optional und Ende-zu-Ende verschlüsselt mit XChaCha20-Poly1305 — der Server sieht nur Chiffretext.

Funktioniert Taijobi offline?

Ja, vollständig. Taijobi ist eine PWA und kann installiert werden. WASM, alle Wörterbücher (CEDICT, Strichfolge, Zerlegung, Wiktionary EN/DE) und deine Datenbank liegen lokal. Sync ist optional und braucht nur dann Internet, wenn du mehrere Geräte verbinden willst.

Welche Pakete gibt es?

Eingebaut: HSK 1–6 (3.0) und Lóng neu L5. Außerdem kannst du eigene Pakete per CSV/TSV oder Anki .apkg importieren — Spaltenerkennung läuft heuristisch, du musst nichts manuell zuordnen. Lehrbuch-Pakete leben statisch im Cloudflare-Worker, neue können per PR ergänzt werden.

Pakete und Wörterbücher bekommen ein Tag-Badge:

  • Offiziell — von Taijobi kuratiert (HSK, Lóng, Wörterbücher)
  • Persönlich — deine .csv/.tsv/.apkg-Importe
  • Community — PR-basiert (Phase 6.3, zukünftig)
Wie verwalte ich Pakete und Wörterbücher?

Alles unter Pakete im Bottom-Nav (oder ⌘K → Pakete):

  • Eigene — deine .csv/.tsv/.apkg-Importe (Badge: Persönlich)
  • Wörterbücher — Chinesisch, Englisch, Deutsch (Offline-Datenpakete)
  • Lehrbücher — HSK 1–6 und Lóng neu (Badge: Offiziell)
  • Community — zukünftig, PR-basiert

Suche und Kind-Filter-Chips (Alle / Wörterbücher / Lehrbücher) helfen beim Finden. Installierte Pakete zeigen den passenden Tag-Badge.

Was ist das persönliche Lexikon?

Wörter, die du beim Lesen sammelst — in jeder Sprache. Tippe ein Wort ein, Taijobi erkennt die Sprache automatisch und reichert chinesische Einträge mit Pinyin und Übersetzung aus CEDICT an. Lexikon-Karten und Paket-Karten landen im selben FSRS-Drill.

Welche Wörterbücher sind verfügbar?

Drei Wörterbücher, alle lokal und offline:

  • CC-CEDICT — Chinesisch (124k Einträge)
  • Wiktextract Englisch — 166k Einträge
  • Wiktextract Deutsch

Plus Strichfolgen-Animation und Radikal-Zerlegung für 9.500 chinesische Zeichen aus Make Me a Hanzi.

Wörterbücher werden auf Wunsch installiert (Pakete → Wörterbücher), nicht ungefragt heruntergeladen.

Was kann die Zeichen-Detailseite?

Tippe auf ein chinesisches Zeichen — überall in der App — um seine Detailseite zu öffnen. Du siehst Pinyin, Definition, Komponenten/Radikale, Strichfolge-Animation und alle Wörter aus deinem Lexikon, in denen das Zeichen vorkommt.

Werden auch andere Sprachen unterstützt?

Ja. Sprach-Erkennung läuft per Unicode-Bereichen:

  • Chinesisch (CJK)
  • Arabisch (RTL mit Vokalisation)
  • Deutsch
  • Englisch
  • und mehr

Arabische Karten zeigen Wörter rechts-nach-links mit großer Schrift für die Diakritika. Anki-Imports erkennen die Sprache pro Karte automatisch.

Was ist Self-Assessment-Modus?

Bei langen, freitextigen Definitionen (über 50 Zeichen) macht Tippen keinen Sinn — du würdest nie "Das Phänomen einer ungeplanten, glücklichen Entdeckung..." Wort für Wort eingeben. Stattdessen siehst du nur die Frage, klickst "Aufdecken" und bewertest selbst, wie gut du es wusstest.

Was ist „Vorziehen"?

Wenn du alle fälligen Karten geübt hast, bietet Taijobi dir Karten an, die in den nächsten 24 Stunden fällig wären. Reviews zählen normal in FSRS — perfekt für leere Pausen, in denen du noch ein paar Minuten Zeit hast.

Wie synchronisiere ich zwischen Geräten?

So richtest du Sync ein:

  • Einstellungen → Sync → Schlüssel generieren
  • Schlüssel kopieren und auf dem zweiten Gerät einfügen
  • Änderungen werden in Echtzeit per WebSocket synchronisiert

Alles Ende-zu-Ende verschlüsselt mit XChaCha20-Poly1305 — der Server sieht nur Chiffretext. Kein Konto, kein Passwort — der Schlüssel ist deine Identität. Ohne Sync funktioniert alles lokal weiter.

Kann ich Taijobi mit Claude verbinden?

Ja, über einen MCP-Server (Model Context Protocol). Claude Desktop kann dein Taijobi-Lexikon direkt abfragen und ändern.

Verfügbare Tools:

  • Fällige Karten anzeigen, suchen und bewerten
  • Wörter zum Lexikon hinzufügen
  • Statistiken und Streak lesen
  • Pakete auflisten und neue installieren
  • Lektionen in bestehende Pakete ergänzen (für „Ach, ich habe noch ein paar Wörter vergessen…")

Authentifizierung läuft über deinen Sync-Schlüssel — die gleiche Ende-zu-Ende-Verschlüsselung wie beim Geräte-Sync.

Einrichtung: Öffne die claude_desktop_config.json und füge hinzu:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows: %APPDATA%\Claude\claude_desktop_config.json
  • Linux: ~/.config/Claude/claude_desktop_config.json

{
"mcpServers": {
"taijobi": {
"command": "npx",
"args": [
"mcp-remote",
"https://sync.taijobi.com/mcp",
"--header",
"Authorization: Bearer DEIN-SYNC-SCHLÜSSEL"
]
}
}
}

mcp-remote ist eine kleine stdio-zu-HTTP-Brücke (npm-Paket) — Claude Desktops MCP-Loader spricht stdio, der Taijobi-Worker spricht Streamable HTTP. npx lädt sie bei Bedarf.

Claude neustarten — die 10 Tools erscheinen im Tool-Picker.

Benachrichtigungen kommen nicht an — was tun?

Taijobi nutzt Web-Push-Benachrichtigungen. Damit sie ankommen, muss dein Betriebssystem dem Browser bzw. der PWA erlauben, Benachrichtigungen zu senden.

So aktivierst du es pro Plattform:

  • macOS: Systemeinstellungen → Mitteilungen → [Chrome/Safari/Edge] → „Mitteilungen erlauben" aktivieren. Prüfe auch, dass kein Fokus-Modus aktiv ist.
  • iOS (16.4+): Die App muss als PWA installiert sein (Teilen → „Zum Home-Bildschirm"). Danach: Einstellungen → Mitteilungen → Taijobi → erlauben.
  • Windows: Einstellungen → System → Benachrichtigungen → [Chrome/Edge] → Ein.
  • Android: Einstellungen → Apps → [Chrome/Browser] → Benachrichtigungen → erlauben. Oder: lange auf das App-Icon drücken → App-Info → Benachrichtigungen.

Wenn alles erlaubt ist und trotzdem nichts kommt:

  • Einstellungen → Benachrichtigungen → Streak-Erinnerung aus- und wieder einschalten (setzt das Push-Abo neu).
  • Seite neu laden und Berechtigung erneut erteilen.
Gibt es Tastenkürzel?

Ja. Drücke ? irgendwo in der App, um die Hilfe zu öffnen.

Navigation (Vim-Style — tippe g dann den Buchstaben):

  • g h — Start
  • g d — Üben
  • g s — Statistik
  • g w — Wörterbuch
  • g p — Pakete
  • g l — Lexikon
  • g c — Zeichen
  • g e — Einstellungen

Im Drill:

  • 1–4 — Karte bewerten (Nochmal / Schwer / Gut / Einfach)
  • ← — Vorherige Karte anzeigen
  • Enter — Antwort prüfen

Global:

  • ⌘ K / Ctrl+K — Befehlspalette öffnen
Gibt es einen Dark Mode?

Ja. Einstellungen → Erscheinungsbild → Hell/Dunkel/System. Die Wahl wird gespeichert und folgt im System-Modus dem OS-Theme. Vor dem ersten Render läuft ein kleines Inline-Skript, damit es kein Helligkeits-Flackern gibt.

Wie importiere ich aus Anki/Quizlet?

Pakete → CSV/TSV-Datei oder Anki-.apkg-Datei ablegen. Taijobi erkennt die Spalten heuristisch (Wort, Pinyin, Übersetzung), erstellt automatisch ein Paket und zeigt eine Vorschau vor dem Import. Bilder und Audio werden in v1 nicht importiert.

Kann ich meine Karten exportieren?

Ja. Pakete → „CSV exportieren" lädt eine TSV-Datei mit allen Karten herunter — Wort, Sprache, Pinyin, Übersetzung, Paket, FSRS-Status. Kompatibel mit Anki, Quizlet und jedem Tabellen-Tool.

Was zeigt die Statistik?

Die Statistik-Seite zeigt:

  • Streak + Tagesübersicht (oben)
  • Balkendiagramm der Reviews mit Zeitraum-Toggle
  • Genauigkeitsverlauf
  • Bewertungs-Verteilung (1–4)
  • 365-Tage-Aktivitäts-Heatmap im GitHub-Stil

Alle Daten kommen aus dem lokalen review_log — nichts geht in die Cloud.

Ist Taijobi kostenlos?

Ja. Open-Source-Projekt, keine Abos, kein Tracking, kein Verkauf deiner Daten. Hosting läuft auf Cloudflare Pages und kostet im Praxisalltag nichts.

Gibt es eine iOS-App?

Geplant für Phase 6.1: SwiftUI-Hülle, die libtaijobi.a über das gleiche C-ABI lädt wie das Web. Volle Feature-Parität, weil die gesamte Logik in der Zig-Library steckt. Die Web-PWA funktioniert in der Zwischenzeit problemlos auf iOS.

Gibt es eine Android-App?

Aktuell nein — die Web-PWA läuft aber vollständig auf Android und kann über Chrome installiert werden. Ein nativer Android-Build wäre möglich, ist aber nicht in der aktuellen Roadmap.

Wie kann ich beitragen?

Besuche das GitHub-Repository. Code, neue Lehrbuch-Pakete (Phase 6.3 plant ein PR-basiertes Marketplace-System unter packs/community/), Übersetzungen, Bug-Reports und Feedback sind willkommen.