Skip to content

[v2] Achievements and Titles System #225

@nicholaspsmith

Description

@nicholaspsmith

Overview

Implement non-punishing gamification with mastery-based achievements and titles.

Part of

Memoryloop v2 Pivot - Branch 014-goal-based-learning

Design Principles

  • NO streak counters that reset
  • NO daily requirements
  • NO guilt-inducing notifications
  • Achievements are retroactive (earn "Perfect Week" after the fact)
  • Focus on mastery milestones, not frequency

Achievements (examples)

Name Trigger Description
First Steps Master 10 cards Your learning journey begins
Century Master 100 cards Triple digits!
Perfect Week Study 7 consecutive days Retroactive, not streak
Deep Dive 90% mastery on a goal True understanding
Polymath Complete 5 goals Renaissance learner

Titles/Ranks

Progress through titles based on total mastery:

  1. Novice (0-50 cards)
  2. Apprentice (51-200)
  3. Practitioner (201-500)
  4. Expert (501-1000)
  5. Master (1000+)

Database

  • achievements table (definitions)
  • user_achievements table (earned achievements)
  • user_titles - current title (calculated)

Components

  • components/achievements/AchievementCard.tsx
  • components/achievements/AchievementPopup.tsx - Celebration animation
  • components/achievements/TitleBadge.tsx
  • components/achievements/AchievementsGrid.tsx

Acceptance Criteria

  • Achievements unlock at correct milestones
  • Celebratory animation on unlock (confetti)
  • Title updates automatically
  • No punishing mechanics (SC-008)
  • Achievements page shows all earned/available

Dependencies

Related Spec

See specs/014-goal-based-learning/spec.md - User Story 5

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or requestp3Priority 3 - Medium

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions