Wortschaft
German Vocabulary Learning App
2024 - Present · Solo product, design and build
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.
PROBLEM & USERS
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.
CONSTRAINTS
- 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
KEY DECISIONS
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.
WHAT SHIPPED
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
RESULTS
- 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
LEARNINGS
- 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
NEXT STEPS
- 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