Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.nudj.cx/llms.txt

Use this file to discover all available pages before exploring further.

Achievements are milestones members unlock by accumulating specific actions over time. They’re separate from challenges (which are discrete, repeatable units) — achievements are passive accumulators.

Creating an achievement

Top nav -> + New -> Achievement.

Basic info

Title, description, icon/badge image. Form ships with a loader to prevent double-submit (#939) and ergonomic fixes for common error flows (#2239).

Scope — defaults to community

New achievements default to the current community’s scope (#2151). Change to org-level if the achievement should unlock across every community in the org. See Cross-community scope.

Criteria

Pick the event that unlocks this achievement:
  • Built-in events — challenge completed, reward earned, check-in, streak milestone, etc.
  • Free-text custom event identifier (#2144) — for events you fire via the API.
Add thresholds: count >= 10, within 30d, etc.

Rewards

Attach points, XP, a badge, or any other reward. Achievements can carry their own reward distribution — see Designing Achievements.

Save

Achievements appear in the list immediately (#1897 fixed the “saved but doesn’t appear” bug). Duplicate names show a toast warning (#734).

Self-healing for dangling achievements

Nudj’s achievement processor (#2111) self-heals when it finds an achievement with a deleted source (e.g. the challenge that fires the event was archived). Rather than crashing, the processor logs and skips — you’ll see these in BetterStack logs if anything’s wrong.
When you archive a challenge, audit its linked achievements. Re-point the event criteria or archive the achievement too.

Listing & managing

The achievement list uses sticky columns (#782) for the key fields (title, status, scope, reward). Filter by status, scope, or tag. Sort is persisted.

Common patterns

Criteria: member_joined event, count 1. Reward: welcome badge + 100 points.
Criteria: check_in_streak >= 7. Reward: fire badge + XP boost.
Criteria: challenge_completed count >= 50. Reward: Gold badge + spotlight reward.
Use the free-text custom event identifier. Example: event purchase_completed fired from your Shopify webhook; criteria count >= 3 within 90d. Reward: VIP badge.

Next steps

Designing achievements

Criteria builder, event types, multi-language, form patterns.

Achievements as actions

Gate challenges behind earned achievements.

Reviewing submissions

Manual-approval achievement flow.

Playbook

Strategy for tiered progression systems.