FlashMath

FlashMath ist eine spaced-repetition Lern-App für universitäre Mathematik. Sie verbindet FSRS-6-Scheduling mit drei getrennten KI-Rollen und einem langlebigen Begleit-Agenten, dem Coach.

FSRS 6 OpenRouter mem0 FastAPI
Auf dieser Seite
  1. 01 — Was sie kann
  2. 02 — Scheduling (FSRS 6)
  3. 03 — Drei getrennte KI-Rollen
  4. 04 — Coach-Architektur (intern Hermes)
  5. 05 — Gedächtnis (mem0)
  6. 06 — Privatsphäre & Limiten
  7. 07 — Free-Tier-Quoten (monatlich)
  8. 08 — Tech-Stack
01

Was sie kann

FlashMath mit LaTeX (MathJax, auch AsciiMath), geteiltes Studien-Fenster mit CodeMirror-Editor inkl. Vim-Modus, ziehbarem Splitter, Stapeln, Tag-Filtern, Statistiken und kompletter Review-Historie je Karte.

02

Scheduling (FSRS 6)

Die Wiederholungslogik läuft über py-fsrs und ist in app/scheduler.py gekapselt. Das Rating (1-4) ist immer deine finale Entscheidung; die KI liefert nur eine Empfehlung. 'Gelernt' gilt ab einer FSRS-Stabilität von 21 Tagen. Die KI ändert nie das Scheduling.

03

Drei getrennte KI-Rollen

Grader (pro Antwort, strenges JSON-Urteil plus Fehleranalyse), Tutor (pro Karte, sokratisch, streamend) und Coach (übergreifende Diagnose). Der Tutor lehrt, der Coach diagnostiziert — sie ersetzen sich nicht gegenseitig.

Tutor

Pro Karte, sokratisch, streamend.

Grader

Pro Antwort, JSON-Urteil und Fehleranalyse.

Coach

Übergreifend, diagnostiziert und verschreibt.

04

Coach-Architektur (intern Hermes)

Der Coach ist ein app-freies Paket (hermes/): ein streamender Tool-Calling-Loop direkt über OpenRouter mit schlichtem httpx (kein SDK), langlebige Threads, Bild-Eingabe. Harte Guard-Rails, per Tests erzwungen: Paket-Importgrenze, die HermesAccess-Methoden-Allowlist, Verträge mit extra='forbid', und in Produktion eine DB-Rolle ohne Schreibrechte auf Karten-/FSRS-Tabellen. Der Coach darf neue Übungskarten vorschlagen, ändert aber niemals bestehende Karten, Tags, Bewertungen oder das FSRS-Scheduling. Seit dem Umbau läuft nichts hinter deinem Rücken — Diagnose, Sonden und Uebungs-Vorschlaege passieren, wenn du sie forderst.

Der Coach darf neue Übungskarten vorschlagen — bestehende Karten, Tags, Bewertungen und FSRS-Scheduling ändert er nie.
05

Gedächtnis (mem0)

Das Langzeit-Gedächtnis nutzt mem0, vollständig lokal: ONNX-Embeddings via fastembed (ohne torch), ein eingebetteter Qdrant-Vektorspeicher auf deiner eigenen Platte. Nur die Fakt-Extraktion nutzt dasselbe Modell, das du ohnehin verwendest. Jeder Eintrag traegt Kategorie, Konfidenz und Quelle und ist einzeln erklärbar und löschbar im Memory-Drawer.

06

Privatsphäre & Limiten

Jede Tabelle ist nutzerbezogen; Cross-User-Zugriff ist auf 404 getestet. E-Mail+Passwort mit argon2 und serverseitigen Sessions (SHA-256-gehasht, 30 Tage gleitend). E-Mail-Verifizierung vor KI-Funktionen. CSRF via Origin-Referer plus SameSite=Lax. Monatlische Free-Tier-Quoten je Rolle. Jeder KI-Aufruf wird in usage_events protokolliert. Der Plattform-API-Key ist nur Betreiber-Sache und für Nutzer nie sichtbar.

Was wir tun

Nutzerbezogene Tabellen, argon2-Passwörter, serverseitige Sessions, Origin-CSRF, monatl. Quoten, metered KI-Aufrufe.

Was wir nicht tun

Kein Cross-User-Zugriff, kein Plattform-Key für Nutzer, kein nächtliches Agieren hinter deinem Rücken.

07

Free-Tier-Quoten (monatlich)

300 KI-Prüfung
500 Tutor-Chat
200 Coach
08

Tech-Stack

FastAPI, Jinja2, SQLAlchemy 2.0, Alembic, SQLite (dev) bzw. PostgreSQL 16 + Caddy auto-TLS via Docker Compose (prod), pytest mit Protocol-Fakes ohne Netzwerkaufrufe.

FastAPI Jinja2 SQLAlchemy 2 Postgres FSRS 6 mem0 OpenRouter

Sprache

Die App laesst sich zwischen Deutsch und Englisch umschalten (Einstellungen-Menue). Hinweis: KI-Text, der vor einer Umstellung erzeugt wurde, behaelt seine ursprüngliche Sprache.

Bereit zum Lernen?

Konto erstellen