Gamification & Leaderboard

Gamification & Leaderboard

AKB can turn everyday Jira work into lightweight, cooperative motivation. It's privacy-first and off by default: the only guaranteed surface is a team goal with zero per-person data. Anything that shows an individual is opt-in, and every mechanic can be switched off independently.

How points are earned

Points are awarded when an issue moves forward across a Jira status category - To Do → In Progress → Done - not for every drag.

Movement

Result

Movement

Result

Forward

+ points

Lateral (same category)

0 - recorded, no points

Backward (regression)

Clawback - reverses the earlier award

Because scoring is category-based, shuffling cards within one category earns nothing, and a Done → In Progress → Done round-trip nets to zero. Points scale by an admin-set weight per issue type (0-5, default 1.0), and credit goes to the assignee at the moment of the transition, frozen into the record. Accounts an admin adds to the service-account list don't earn points (there's no automatic bot detection, so bot and automation accounts should be listed there).

Why it can't be farmed

  • Exactly-once - duplicate or re-delivered events never double-count.

  • Net-category scoring - lateral churn pays nothing.

  • Reversal window - a quick forward-then-back within a short window (default about 10 minutes; an admin can set 1-120) leaves no trace and nets zero.

  • Daily per-issue cap - reopening and re-completing the same issue stops paying once the cap is hit.

The hard floors that no preset or custom setting can weaken: lateral moves always score 0, backward moves always claw back the exact prior award, the daily per-issue cap can never be removed (minimum 1), and the minimum cohort stays locked at 4.

Levels, streaks & badges

  • Levels - your accumulated net points are XP; each level costs progressively more. Level titles are admin-renameable.

  • Streaks - a personal daily flow streak that advances when you complete work (reach Done) on a new day; forgiving (best-of-window) and gently worded, never punitive. Turn it on with the Daily streak mechanic. (The team goal tracks a separate shared team streak.)

  • Badges - completion milestones such as First Done (1), Getting Started (5), In the Flow (25), Centurion (100). Admins can rename the labels; earning criteria stay server-side, so badges remain auditable.

Privacy model

Mode

What's shown

Mode

What's shown

Team-only (default)

Aggregate team data only - no per-person surface.

Anonymized

Stable pseudonyms (for example "Falcon 3B"), never derived from names.

Named

Real names / avatars - only for people who explicitly opt in.

  • Consent required - in Anonymized and Named modes, anyone who hasn't opted in is fully excluded (not scored, counted, or shown).

  • Minimum cohort of 4 - person-level views stay hidden until at least four people have joined. This floor can't be lowered.

  • Freeze window - an admin can suspend all accrual and hide all gamification UI for a period (for example review season).

Your personal streak is self-view only - it appears on your own player card and is never shown to others or gated by the cohort rules above.

The Leaderboard page

An opt-in scoreboard for the current period. If you haven't joined, a Join the leaderboard card invites you in (in Anonymized mode it notes you'll appear under a nickname). Once in, the header shows your rank and a Leave link.

  • Podium - the top three in classic layout (2nd, 1st raised with a 👑, 3rd), each with a medal, ringed avatar and points. If fewer than three have scored, the missing places render as empty pedestals.

  • Ranking list - everyone in order with a relative points bar, an "N done" count, and their total. Your own row is highlighted.

  • Protected states - until the minimum cohort joins you'll see an "almost there" progress note; with enough joined but no scores yet, an empty-state prompt.

The Gamification page (project admins)

This is where a project admin configures everything (non-admins see a read-only status line):

  • Presets - six one-click starting points: 🤝 Collaborative, 🏁 Friendly competition, 👏 Recognition only, 🔒 Minimalist, 🎯 Sprint focus, ⏻ Off.

  • Master switch + Visibility mode - on / off, plus Team only / Anonymized / Named (Named shows a privacy warning).

  • Mechanics - independent toggles: Team goal / streak, Points, Badges, Daily streak, Levels & player card, Leaderboard, Peer kudos, Quests.

  • What counts as done - the statuses that award points.

  • Points per issue type, Team goal & cadence (weekly / monthly / quarterly / sprint), and wording (rename points, the team-goal name, level titles and badge labels, and set a nudge tone).

  • Change log - a paginated history of setting changes (newest first, 20 per page, with "Load more").

A background job reconciles scores hourly - backfilling any missed awards, decaying stale streaks, and refreshing leaderboard caches from the ledger - so totals stay complete and auditable.

📷 Screenshots: the Leaderboard podium and ranking list; the Gamification admin page with presets and mechanics (to be added).