I have had the same experience as you. Duolingo in particular I think provides a false sense of progress, as it can be somewhat of a guessing game that is pretty easy. What I have found the best is to use a flash cards type app, creating different categories: verbs, adjectives, nouns, etc. after all, a lot of learning a language is memorization. Supplementing this with watching tv with subtitles has proven to be pretty effective for me, but of course as you say, nothing is better than being in a place and speaking the language every day.