German Genus Rules — learning der/die/das from patterns
Problem
Native speakers just know the gender of German nouns, while learners usually only memorize article + noun pairs. This website helps german learners learn the genus, throug repetition, copying the learning approach of Native Speakers.
The rules and patterns must be practiced until they become second nature, or they cannot be used in everyday life.
Constraints
Keep as simple and light as possible, to allow for free usage for guests.
Built for shared hosting: PHP file storage instead of a database, mobile friendly layout,
and a light account model (username + 4–6 digit PIN, no email, no PIN
recovery). That keeps operations simple and data local to each user folder. Keep the website
secure, through simplicity of design and implementation.
Design rationale
- Small sessions: at most around ten rules per session, so
practice stays focused.
- Mastery definition: a rule is mastered after three perfect
sessions (n/n with n ≥ 3), not necessarily
consecutive. Imperfect scores leave the rule in “practice.”
- In-session retries: wrong answers return later in the same
session instead of being marked done.
- Progress format: semicolon-separated CSV files per user
— easy to inspect, back up, and migrate without a database.
- Motivating: After each session the learner sees results plus personal stats (sessions completed, rules practiced, and rules mastered). For motivation, it is important to see the progress from day to day and week to week.
- Visible reminder: the learner can install the website as an app on their phone.
- No personal information is saved: by not saving any personal information,
the there are no privacy and no GDPR compliance issues.
- Keep it free: No AI is needed, as this is fully rule based. Simplicity and light weight allows for thousands of users on a hosted website, without extra costs.
Stack
Vite + TypeScript frontend, PHP API with file-backed progress,
installable Progressive Web App (PWA) with cached rules data.
Installable as an app in most browsers: use the browser menu
(or Share on iPhone) → Install app / Add to Home Screen.
Live app ·
Source on GitHub
Back to Portfolio · Contact