Wortschaft

German Vocabulary Learning App

2024 - Present · Solo product, design and build

LearningMemoryFrictionSupabaseReactLLMTailwind

Learning

Designed for progressive mastery and retention.

Memory

Optimized for long-term recall through spaced repetition.

Friction

Minimized unnecessary steps to keep users in flow.

Most vocabulary apps ask learners to type in their own words before any practice happens, and give everyone the same review schedule. For intermediate learners that means an empty first screen and reviews that come too early or too late. Wortschaft is my answer to both.

Who it’s for: German learners at B1 to C1 level who know the basics and want vocabulary from topics they actually care about.

  • Solo project: one person for product, design and build
  • No manual word entry: a new learner must get useful cards right away
  • Low running cost: serverless, with no servers to maintain

Start from a topic, not an empty list

A learner picks a topic and an LLM generates a first deck of contextual flashcards. Cards are checked after generation, so weak or wrong cards are caught before a learner sees them.

Review timing per word

Each word keeps its own mastery score, and spaced-repetition intervals adapt to how the learner performs on it, instead of one schedule for everyone.

Make progress visible

Mastery tracking and learning-velocity charts let learners see that they are improving, a reason to keep practicing.

Keep it cheap to run

Supabase handles auth, the database and row-level security, with SWR for client-side caching, so there is no server to maintain.

A working web app with topic-based deck generation, adaptive spaced repetition, mastery tracking and learning-velocity charts.

At a glance

For

German learners at B1 to C1 level who know the basics and want vocabulary from topics they actually care about.

Key decision

Start every learner from a topic they choose, not an empty word list

Result

Learning starts on the first screen

Stack

  • React
  • Supabase
  • Tailwind CSS
  • SWR
  • OpenAI API
  • No empty first screen: a new learner gets a deck from a topic prompt
  • Personal timing: reviews adapt per word to how well it is known
  • Visible progress: learners see mastery and learning velocity over time
  • Generated content needs guardrails: validation after generation catches bad cards before learners see them
  • Intervals need tuning: spaced repetition behaves differently at each proficiency level
  • Measure it: track retention and how many learners return after a week, to test adaptive timing against a fixed schedule
  • Shared word lists for classrooms
  • Offline mode with service-worker caching
Next projectUniversity ProjectsAn AI Study Guide and an Assistive Dispenser