Gamification is a fun/simple way to engage users. Most games have a system where users can earn achievements and level up, some players even make it point to 100% their game by unlocking all the achievements. This can work for web applications as well.
Untappd uses badges to gamify drinking beer. BeachBody recently introduced badges to gamify working out. Reddit has "trophies" to celebrate certain milestones and contributions.
It would be great to build a service that allowed any website or application to easily build and track an achievement and badge system like this!
Website owners would simply sign up for your service, create different achievements and choose default badges or upload their own, and track when users complete certain events. Then the service would alert the user when they complete an achievement as well as provide a page where users can view all of their progress.
I have found a few Wordpress plugins that provide this, 1, 2, as well as some specifically for businesses and learning paths 3, but none built for general purpose web applications.
From a quick search it looks like there are some existing companies offering something similar, such as 1, 2 and 3. Haven't looked at them in detail but you may want to check them out.
This is actually a feasible concept. We developed an internal rewards and achievements platform for hiring and onboarding before for an MNC pharmaceutical company.
What the platform does is enable HR people to create rewards to increase employee retention during onboarding, and make sure that employees comply with the onboarding requirements in a certain time period.
HR Managers can create virtual badges, rewards (as part of their budget), and trophies. I believe it can be implemented for platform onboarding as well to further increase customer retention.