Bad connection often results in progress loss (packets lost)
I travel a lot by train, an ideal setting to train with duolingo. However the Internet connection is often poor where I travel through. It happens quite frequent that the practice session I just completed never gets synced with the server. The app seems to lose progress, without informing the user about it. I think on averge only half of all the sessions I play gets registered, the rest is lost.
So unfortunately I have to redo a lot of practice sessions, whereas I completed them already.
Is it possible that you store the progress locally (save data) in case of a connection failure, and sync it with the server later? It would solve a lot of frustration :)
Tested on latest version on iOS. But it has been present for a long time now.