Logo Lanfrica

olli-hoffi/lingua

Domaine:

natural language processing

Type de record:

software
Créateur:
oll
Hôte:
A French & Afrikaans spaced-repetition learning PWA (React, FSRS, CEFR A1–B2) # Lingua Eine mobile-first Sprachlern-PWA für Französisch und Afrikaans: echtes Spaced Repetition (FSRS), Häufigkeits-Vokabular zuerst, aktives Erinnern in jeder Übung. Kein Backend, keine Accounts, kein App Store, alles läuft auf dem Gerät. A mobile-first language-learning PWA for French and Afrikaans, built around real spaced repetition (FSRS), high-frequency vocabulary first, and active recall in every exercise. No backend, no accounts, no app store: everything runs on the device, progress lives in IndexedDB, and it installs straight from Safari. Live demo: `lingua.oliverhoffmann.net` (private, password-protected — access on request). ## Screens ## What it does - Real FSRS spaced repetition (`ts-fsrs`), scheduling every card on the device - CEFR-structured content from A1 to B2: vocabulary plus a full grammar syllabus - Ten exercise types: multiple choice, flashcard, listening MC, type-the-translation, cloze, and the grammar drills (fill-blank, ordering, transformation) with presentation intros - A session planner that interleaves new intros, reviews, and grammar, throttles new items against the review backlog, and adapts to a casual, serious, or intensive intensity - Installs as a PWA, works offline, and exports all progress to a single backup file ## Content in this repo The full app carries around 7,000 lexemes (French and Afrikaans, A1 to B2). **This public repo ships a small A1 demo pack** (150 seed words per language plus the full grammar syllabus) so the app runs and the test suite passes out of the box. The full multi-band packs are not distributed here: their French CEFR banding leans on a source licensed for non-commercial use only, so those packs stay in the private build. Each pack states its sources in its `license` field. ## Run it Needs Node 23+ (the content scripts rely on native TypeScript type stripping; Node 24 recommended). ```bash npm install npm run dev # dev server, localhost ``` Quality gates: ```b …