kaba0 parent
I have been thinking about learning apps for years now (without actually trying my hands at the problem) and my idea for solving this is dropping cards, and instead use a “knowledge graph” and its nodes as the primitives. Then you can have the vocabulary and for example example sentences with a missing word. If that example sentence contains a word you have also in your database, answering this harder question will also count as a review for the used words, so you won’t have to review them separately anymore, while you still get to practice them at no additional effort.
Interesting idea, though it's important to note that vocabulary is probably only 20% of learning a language. There's also grammar, pronunciation, tone, etc. And many languages don't even have a clear concept of what constitutes a "word".
You should do something with this! It sounds super cool, and there is definitely an unsolved problem waiting there for you.