Duolingo has a scaling difficulty algorithm (I think) and I like it