Wortschaft
German Vocabulary Learning App
2024 - Present · Solo Developer & Designer
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
Language learners face a cold-start problem — most apps require manual vocabulary input, creating friction before any learning begins.
Target users: German language learners (B1–C1 level) who want contextual, adaptive vocabulary practice.
CONSTRAINTS
- Must work without manual vocabulary curation
- Serverless to minimize infrastructure cost
- Type-safe across the full stack
APPROACH
LLM-powered cold start
Integrated OpenAI API to auto-generate contextual flashcards from topic prompts, eliminating the blank-slate problem new users face.
Adaptive mastery model
Built a data model that tracks per-word mastery scores with spaced repetition intervals that adjust based on individual performance patterns.
Serverless architecture
Chose Supabase for auth, database, and RLS policies. SWR for client-side caching. Zero server management overhead.
WHAT SHIPPED
A fully functional web app with adaptive learning, LLM flashcard generation, mastery tracking dashboards, and learning velocity charts.
Architecture Snapshot
Input
German language learners (B1–C1 level) who want contextual, adaptive vocabulary practice.
Core Decision
Spaced repetition intervals tuned to individual mastery curves
Output
Users retain vocabulary 2× longer between review sessions
Stack
- React
- Supabase
- Tailwind CSS
- SWR
- OpenAI API
IMPACT
- Eliminated cold-start friction — users begin learning within 30 seconds
- Mastery model shows measurable retention improvement across sessions
LEARNINGS
- LLM-generated content needs quality guardrails — added post-generation validation
- Spaced repetition intervals require careful tuning per proficiency level
NEXT STEPS
- Add collaborative word lists for classroom use
- Implement offline mode with service worker caching