Habit tracking within Discourse...is it possible?

One of the Discourse instances I run is for an elementary school club that teaches life and career skills to kids in a rough and impoverished community. If interested, you can learn about the club at our web site.

Next month’s “Big Idea” is “build habits that serve your goals”. We’ll all be building habit trackers in our individual notebooks, but I’d like to add some sort of habit-tracking feature to our Discourse instance to help us see and support one another’s progress. One progress-reporting thread per student could work, but I was hoping to come up with something more visual, to report success/miss days on a user-specified habit, and to track participation on our Discourse in some way.

I’m an experienced coder and a passable sysadmin, but I’m trying to avoid custom coding here, as the person who will take over administering the site when I eventually move on is not that technical. So, I’d be up for tweaking an existing plugin if there were high confidence that my patches would be accepted upstream for long-term maintenance.


How do you see this habit tracking happening on Discourse. what would be your ideal user experience/flow?

1 Like

Two ideas:

Create a category Habit tracker and populate it with one event for each day of the month that applies to the new habit. So students can keep track together and are not separated into their single track record. You could also write some changing motivational text with each event topic:

Make things more visible and visual by rewarding students with custom badges. I could think of three steps depending on persistence:

And you could extend on these badges by introducing silver and gold lines for repeated participation.


These look good, let me share some extra spice to your contribution @nolo.

I particularly like the Habit Tracker idea, it is something that has been done manually by Prof. BJ Fogg in his Tiny Habit Program. It really works and I use it in different areas of my life. I’ll suggest checking the program I linked to and checking the Discourse Policy plugin, you might see a possible hack to make it work in Discourse.

Then when you combine this with custom badges, I can see how it would be very sticky and habits will definitely build.

Taking this a bit further, while building on what I shared above and to help with the design part of your program @HedgeMage, may I suggest additional reading? The links I am sharing give an overview, but they will definitely help you better design habits.


I can picture a few different workflows that might work…@nolo’s suggestion is a little clunky but does a good job of not requiring any code we don’t already have.

In my ideal world, each student would have a habit tracker topic in a category set aside for that purpose. Anyone could comment on that topic, but only the author could tick off the tracker items.

Each kid would have 1-5 habits tracking at a time, and a series of dates (we’d start a new topic each month for management’s sake). Each day, they can register a “hit” (success), a “miss” (failed for the day), or enter nothing (no info). Hopefully it would be pretty easy, like clicking a button per habit.

The topic would show streaks and totals per habit in some attractive way, and I could set up some fun badges like “7 consecutive check-ins” (hit or miss, any habit), “30 consecutive check-ins”, “7-day streak” (7 hits in a row on the same habit), and so on.

@osioke I like Tiny Habits…that’s part of the model we’ll be using. After failing to find a book that’s aimed at this age range and reading level, I ended up adapting material mostly from Stronger, Faster, Better and Atomic Habits, which includes the Fogg model as a subset.

It’s all a challenge so far…but we’re working on it and I appreciate any advice you all can share. Keep the ideas coming! The plan is to introduce habit-building as our December “Big Idea” and then do weekly habit check-ins throughout the rest of the program from mid-December forward. I expect it all to evolve along the way.