I realized at some point that in learning languages, I was often limited by how much vocabulary I was picking up. The main advice I got was to read more, but progress was slow; I learned less from more basic texts, but constantly had to look up words when reading more advanced stuff.
So I wrote myself an e-reader (in Kivi) that is aware of my vocabulary and integrates with a flashcard system. For more obscure words it just shows the translation in-line so that I can focus on the most vocabulary. I pick up way more words and phrases, and can enjoyably read at a significantly higher level than without it.