User duels and challenges
Data stores can be used to create duels or challenges amongst users, adding a competitive element to your engagement strategy.
Overview
Using data stores, you can save information about challenges, including:
- Who is participating
- Start and end dates
- Point wagers
- Progress tracking via KPIs
This creates a framework for users to compete against each other based on any metric you define in your system.
Implementation steps
Follow these steps to create a duel or challenge system:
-
Define KPIs
- Create KPIs to track user scores
- KPIs can be based on any point, behaviour, or reward in the system
- This flexibility allows users to challenge each other on any metric you've established
-
Configure data stores
- Create data stores to track:
- Which users are participating in the challenge
- Start and end dates
- Point wagers (if applicable)
- Which KPI is being used to track the score
- Set the challenge creator as the owner of the data store
- Add challenge participants as associated users
- Create data stores to track:
-
Build the user interface
- Create a custom UI that allows users to:
- Create new challenges
- View ongoing challenges they're participating in
- Check challenges they've created
- See current standings and results
- Create a custom UI that allows users to:
-
Set up rewards (optional)
- Create rewards for challenge winners
- Consider different reward tiers based on challenge difficulty
- You can distribute prizes automatically at the end of each challenge period
Example code
Below is a sample data store for a duel or challenge:
JSON
In this example:
- The challenge has a name, start date, and end date
- It tracks a specific KPI (identified by its ID)
- There's a minimum point wager per participant
- The total points wagered across all participants is tracked
- The number of players is recorded
Note that the owner of the challenge and the users associated with the challenge can be set when creating the data store—they don't need to be stored in the JSON data itself.
Implementation tips
- Consider creating a leaderboard specifically for the challenge
- Allow users to create public or private challenges
- Implement notifications for challenge milestones
- Create different challenge types (team vs team, individual, etc.)