Create an application for memorizing words in a foreign language: Let the user add word pairs to the system. Then the application will show random words in one of the languages and the user needs to type in the word in the other language. Provide Correc/Incorrect feedback. If it was incorrect, let the user see the correct answer.
Ask the words in the other direction as well.
If a words was guessed correctly reduce its frequency of being asked but never totally eliminate a word.
Offer this both as an installable application and as a web site.
Create a back-end where users can register and where they can save their data.