How apps like Fitbit, Waze, and Duolingo use gamification in their design David Teodorescu 7 years ago