January 17, 2025
My first interaction with Duolingo was simply trying it out becaue my friends were trying it too. I ended up having a 100+ days streak.I have been hooked ever since.
Duolingo's streak although incredible mainly helps users maintain habits they ultimately want to build and that are for the most part low effort and effectively free (the duolingo app is free and the user can start right away).
This project aims to explain an idea I have to recreate that magic for an F&B brand.
The problem / Challenge
How to create a streak system that enables users to engage with your brand regularly when the product is not free and the user may not always want the product.
Solution / Idea: Race Streaks
How it works?
- Users start a race with their friends.
- The user who places their order first wins the race.
- When the race finishes:
- The user who gets 1st place gets a discount based on their race streak.
- All other users get free delivery.
Conditions
- Users must participate in a race every 3 days.
- The user's tier resets if they don't race for 3 days.
- 3 Users must participate in a race.
Tiers
1. Beginner
10% off
2. Novice
20% off
3. Expert
30% off
4. Champion
40% off
5. Legend
50% off
Screens

Start Screen
- Quick access to start a new race
- Social element, users can see which frineds are available to invite to a race
- Users have to expand to opt out of the race, this is to ensure they understand the feature before they opt out
- Race is optional, users can just get to ordering and ignore the feature if they want

Start Expand Screen
- Users can understand the feature
- Users can opt out of the race and ignore the feature
- They can invite Users can invite friends to join the race
- The racing incentive is clearly displayed, depending on the user's tier

Race Lobby Screen
- Users can view which friends joined the race
- Users can share a link for the race with friends
- Users can see their current tier and streak status
- A full explanation of the race mechanism is displayed as the users will have time while they wait for the race to start

Race Go Screen
- Just a 1,2,3 countdown

Shop Screen
- Users can see their status in the race in a non intrusive manner
- The users is constantly reminded of their incentive for the race
- Other than that its just business as usual

Pay Screen
- The same concept as the shopping screen but the module is on the top

Finish Line Screen
- Clear acknowledgement of the race result and the user's tier upgrade
- Visual & written communication of the tier benefits
- Visual & written communication of the next race and the tier upgrade
- Call to action to remind the user of the next race, the user is commiting to the race 3 days in advance
Why do I think this is a good idea?
- The races will be a fun way to engage with friends on the app increasing virality.
- If a user does not win a race they will be motivated to win the next race, therefore placing another order and engaging with more people on the app.
- Users will be motivated to order daily with friends and to keep racing to raise their tier (discount %).
- Instead of just using normal / boring discount codes, this feature will limit the actual amount discounted while encouraging more volume, should be more profitable long term (vs constant discount codes).
What are the downsides?
- There may not be a huge gap between user order times, causing the race to be a tie or irrelevent.
- Some users may not have friends to race when they want to.
A super fun but highly impractical iteration on the idea
- What if the app / brand starts the race suddenly with a notification.
- And the first user to gets to the store physically to order in a certain race group (each friend group has a different race) wins the race.
- Would be kinda cool, you can trigger different race events for different groups at different times / days to make sure you never have a dead spot in sales or to create a huge surge of sales if necessary
- Although this is highly impractical, it would be a fun way to engage with the brand and the community.