In active use Personal product 2026–present

German Learning Workstation

A personal learning system designed for daily use rather than as a generic course platform. It is the natural evolution of my earlier German-learning app: a full local workstation with a reviewed content pipeline, a deliberately bounded practice loop and offline operation.

  • FastAPI
  • React 19
  • TypeScript
  • SQLAlchemy
  • SQLite
  • Alembic
  • Piper TTS
  • Raspberry Pi
  • pytest
  • Vitest
Concept illustration — no private project data shown.

01 · Problem

What needed solving

General learning platforms did not match the vocabulary I needed, the mistakes I repeated or the mix of screen practice, audio and paper exercises that helped me study consistently.

Build for a real personal need, observe where practice breaks down and let those sessions—not a speculative feature list—shape the product.

02 · Constraints

The difficult parts

  • Combine a large language corpus with a review process that keeps source and provenance visible.
  • Grade small spelling and morphology differences without treating every near-answer as simply right or wrong.
  • Keep speech, study data and progress available offline on modest ARM hardware.
  • Support screen study and printable worksheets without maintaining two separate content systems.

03 · Approach

How the work was structured

  1. Structured vocabulary, grammar and phrases across CEFR levels behind one reviewed data model.
  2. Built a spaced-review loop inspired by SM-2 and several recognition and production exercise types.
  3. Used Damerau–Levenshtein distance to distinguish exact, close and incorrect answers while keeping the rule understandable.
  4. Added offline speech through Piper, print worksheets, Anki export and hard-word reporting.
  5. Deployed the service natively on ARM64 with systemd, kiosk startup, WAL-mode storage and verified backups.

04 · Validation

What can be claimed now

The backend has 179 automated tests, supported by frontend tests. The reviewed store currently contains roughly 32,800 vocabulary entries and 203,900 examples, each with field-level provenance records.

The workstation is in active personal use as a dedicated local kiosk. It brings review, exercises, audio, exports and printable study material into one workflow without sending learning history to a cloud service.

05 · Learning

What the project clarified

  • A local-first constraint can improve a product by forcing clear ownership of data and graceful offline behaviour.
  • Content provenance is a product feature when a learning system combines several sources.
  • The most useful exercise engine reflects how errors differ, not just whether a string matches.

Next

Planned follow-through

  • Continue refining the schedule from real use rather than adding broad features.
  • Improve review tools for imported examples and ambiguous grammatical fields.
  • Prepare privacy-safe interface captures with synthetic study history.