I built something similar [1]
It's basically a podcast player where you can browse a database of podcasts filtered by spoken language, and listen with transcriptions and translations.
For each language I made a podcast to learn the most frequent words.
You can also get audible feedback on your pronunciation.
I am in the process of building a YouTube database of channels by spoken language to play youtube videos on the app.
> Every month or every N hours of reading/listening, you take a new test to recalibrate your proficiency level.
I slightly disagree with this part, I think the moment you add some sort of "test" or drills it can become tedious or dreadful to learn in the long term.