Onno Schuit
Lead maintainer
Solin Streaks adds a regular-practice learning streak to Moodle courses where learners are expected to return and complete meaningful activity over time. A teacher adds one Solin Streaks activity to a course, chooses a cadence (for example daily practice, once a week, or 3 days per week), and decides which course actions count. Each learner then gets a personal streak counter, streak freezes for occasional missed periods, gentle make-or-break reminders, and a friendly per-course leaderboard.
The streak counter and leaderboard render inline on the course page, so learners do not open a separate activity page to use the plugin. The plugin ships no JavaScript: everything is server-rendered HTML and CSS, themeable through templates and CSS tokens, so the same activity can suit very different audiences (compliance programs, onboarding, professional development, schools, universities, language learning).
Features
Why an activity module, not a block?
Solin Streaks is deliberately an activity module, even though it is not "content" you open and work through in the usual sense. A block might seem the obvious choice, but two practical reasons ruled it out. First, placement: the streak counter and leaderboard render inline at the top of the course's main column, where every learner sees them immediately — Moodle's default themes have no block region at the top of the central column, so a block could only sit in a side column, far less prominent. Second, mobile: activity modules render directly in the course in the Moodle App (Solin Streaks ships app support), whereas blocks have limited, inconsistent visibility in the app and are not shown inline with course content.
When to use it
Best for courses where regular activity is meaningful: daily practice, weekly compliance tasks, recurring onboarding, exam preparation, spaced repetition, micro-learning, language learning, or professional-development programs that run over a longer period. It is not a good fit for one-off compliance modules or short courses that need a single activity completed once.
Privacy
Solin Streaks implements the Moodle Privacy API. It stores per-learner streak state (current and longest streak, freezes, progress, opt-out, final standing) and a ledger of the days a learner earned a qualifying action; both are exportable and deletable per user.
Background reading: which gamification mechanics the evidence supports, and which ones tend to backfire: https://solin.co/gamification-in-moodle-what-works-what-backfires/
Source code: https://github.com/solin-repo/moodle-mod_streak
Report an issue: https://github.com/solin-repo/moodle-mod_streak/issues