# Daily usage streak and badges (for building a habit)

**URL:** https://meta.discourse.org/t/daily-usage-streak-and-badges-for-building-a-habit/71900
**Category:** Feature
**Created:** [12 באוקטובר,‏ 2017,‏ 2:02am UTC](https://meta.discourse.org/t/daily-usage-streak-and-badges-for-building-a-habit/71900 "2017-10-12T02:02:13Z")
**Posts on this page:** 9
**Page:** 1

<div class="post-metadata">

### Author: ![jonobacon](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/jonobacon/32/169578_2.png) [@jonobacon](https://meta.discourse.org/u/jonobacon)
#### Post date: [12 באוקטובר,‏ 2017,‏ 2:02am UTC](https://meta.discourse.org/t/daily-usage-streak-and-badges-for-building-a-habit/71900/1 "2017-10-12T02:02:13Z")

</div>

Hi Everyone,

When I roll out Discourse to my clients, a key point I always emphasize is the importance that (a) people across the organization use it (not just “community managers”, and (b) they use it on a daily basis.

For the latter, I explain habit theory and the notion that if we commit to something for around 66 days it becomes a habit. As such, I ask people to commit time in their calendars (if only 15 - 30mins a day) to visit the forum, respond to topics, and post new topics.

As such, this daily use is (I believe) key in making Discourse communities “stick”. One idea I wanted to propose here is that there is a way in which users can see their daily usage streak in the same way other services work such as fitness and mindfulness apps.

A few ideas how this could work:

- At a simple level, this could be delivered via badges (e.g. badges for 5, 10, 15, 30, 60, 100, 150, 300, 365 days).
- Ideally, on top of this, users can see their own run streak and admins can sort users by a run streak (important for people who run Discourse rollouts to see which people are participating and which are not).

Sadly, I don’t have time to build this myself (you also don’t want my terrible code), but is anyone else interested in something such as this, and maybe want to build it?

---

<div class="post-metadata">

### Author: ![tobiaseigen](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/tobiaseigen/32/539204_2.png) [@tobiaseigen](https://meta.discourse.org/u/tobiaseigen)
#### Post date: [12 באוקטובר,‏ 2017,‏ 2:54am UTC](https://meta.discourse.org/t/daily-usage-streak-and-badges-for-building-a-habit/71900/2 "2017-10-12T02:54:20Z")

</div>

Hey, that’s a pretty cool idea. You know there are already badges for this sort of thing, right?

Look in “getting started” and “afficionado” (visited on 100 consecutive days) here: [Discourse Meta](https://meta.discourse.org/badges)

Based on the code for afficionado, you can always add more badges for the intervals you describe.

One downside to this is that badges for each interval don’t go away, so with your concept you’d end up with just way too many badges. They are not superceded by higher level badges. That would be an interesting new feature to add.. e.g. “when this badge is awarded, take away these other badges”.

---

<div class="post-metadata">

### Author: ![jonobacon](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/jonobacon/32/169578_2.png) [@jonobacon](https://meta.discourse.org/u/jonobacon)
#### Post date: [12 באוקטובר,‏ 2017,‏ 5:40am UTC](https://meta.discourse.org/t/daily-usage-streak-and-badges-for-building-a-habit/71900/3 "2017-10-12T05:40:55Z")

</div>

> [@tobiaseigen](#):
>
> Hey, that’s a pretty cool idea. You know there are already badges for this sort of thing, right?

I see two badges for this. I think it would be useful to have some additional badges leading up to the 66 day target, but great to see this is doable via badges.

> [@tobiaseigen](#):
>
> One downside to this is that badges for each interval don’t go away, so with your concept you’d end up with just way too many badges. They are not superceded by higher level badges. That would be an interesting new feature to add… e.g. “when this badge is awarded, take away these other badges”.

I don’t think would be all that big of a deal - I think seeing the previous streak badges would be helpful if you fall off the wagon and restart the streak.

The thing I would love to see is the current streak level in the person’s profile, and a list of people and their current streak levels (almost like a leaderboard). This would be helpful as I track which users are staying in line with the request to visit daily and which are not.

---

<div class="post-metadata">

### Author: ![Bas](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/bas/32/294929_2.png) [@Bas](https://meta.discourse.org/u/Bas)
#### Post date: [12 באוקטובר,‏ 2017,‏ 7:38am UTC](https://meta.discourse.org/t/daily-usage-streak-and-badges-for-building-a-habit/71900/4 "2017-10-12T07:38:43Z")

</div>

> [@jonobacon](#):
>
> The thing I would love to see is the current streak level in the person’s profile, and a list of people and their current streak levels (almost like a leaderboard). This would be helpful as I track which users are staying in line with the request to visit daily and which are not.

You could also consider to exclude weekends if this is a professional community.

---

<div class="post-metadata">

### Author: ![pfaffman](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/pfaffman/32/120154_2.png) [@pfaffman](https://meta.discourse.org/u/pfaffman)
#### Post date: [12 באוקטובר,‏ 2017,‏ 12:27pm UTC](https://meta.discourse.org/t/daily-usage-streak-and-badges-for-building-a-habit/71900/5 "2017-10-12T12:27:37Z")

</div>

You could do most of this with custom badges, though the feature is turned off by default.

---

<div class="post-metadata">

### Author: ![jonobacon](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/jonobacon/32/169578_2.png) [@jonobacon](https://meta.discourse.org/u/jonobacon)
#### Post date: [13 באוקטובר,‏ 2017,‏ 2:03am UTC](https://meta.discourse.org/t/daily-usage-streak-and-badges-for-building-a-habit/71900/6 "2017-10-13T02:03:43Z")

</div>

> [@Bas](#):
>
> You could also consider to exclude weekends if this is a professional community.

Indeed.

I think the key element here why I would like to see this feature is so users can see a personal run streak for daily participation. This could not just be for visiting the forum, but also read time with each visit, or even if they post/reply with each visit. I think building this habit is the make or break for a lot of Discourse rollouts.

---

<div class="post-metadata">

### Author: ![Bas](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/bas/32/294929_2.png) [@Bas](https://meta.discourse.org/u/Bas)
#### Post date: [13 באוקטובר,‏ 2017,‏ 7:27am UTC](https://meta.discourse.org/t/daily-usage-streak-and-badges-for-building-a-habit/71900/7 "2017-10-13T07:27:35Z")

</div>

We’ve got good feedback about using a type of sparkline for this:

 ![24](https://global.discourse-cdn.com/meta/original/3X/7/8/782f65a61347d4eea868f39ce623dffc26123361.png)  
(or more likely a bit more sparse, like mine:)  
 ![39](https://global.discourse-cdn.com/meta/original/3X/7/e/7ead590c333ac2c38cd5a812589b9d86412029af.png)

---

<div class="post-metadata">

### Author: ![jonobacon](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/jonobacon/32/169578_2.png) [@jonobacon](https://meta.discourse.org/u/jonobacon)
#### Post date: [13 באוקטובר,‏ 2017,‏ 10:49am UTC](https://meta.discourse.org/t/daily-usage-streak-and-badges-for-building-a-habit/71900/8 "2017-10-13T10:49:04Z")

</div>

> [@Bas](#):
>
> We’ve got good feedback about using a type of sparkline for this:

This looks interesting. How do I get this? Is this something baked into core or a plugin?

---

<div class="post-metadata">

### Author: ![Bas](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/bas/32/294929_2.png) [@Bas](https://meta.discourse.org/u/Bas)
#### Post date: [13 באוקטובר,‏ 2017,‏ 11:39am UTC](https://meta.discourse.org/t/daily-usage-streak-and-badges-for-building-a-habit/71900/9 "2017-10-13T11:39:57Z")

</div>

Sorry, should’ve been more clear. This isn’t in Discourse, just wanted to share a design of something similar that we’ve built in a community analytics package.
