Gamification
MyClaude awards XP for 8 actions, tracks 45 achievements across 9 categories, and assigns ranks from Newcomer to Legend based on a square-root level curve.
MyClaude awards XP for 8 actions, tracks 45 achievements across 9 categories, and assigns ranks from Newcomer to Legend based on a square-root level curve. Every number on this page is pulled directly from the production codebase.
How does the XP system work?
You earn XP by taking actions on the marketplace. Each action has a fixed XP reward.
| Action | XP | Trigger |
|---|---|---|
publish | 100 | You publish a product |
first_sale | 200 | You make your first ever sale (one-time bonus) |
streak_publish | 50 | You publish 3+ products (bonus per product after the 3rd) |
purchase | 50 | Someone purchases your product |
follower | 15 | Someone follows you |
review | 10 | Someone reviews your product |
download | 5 | Someone downloads your product |
like | 3 | Someone likes your product |
Publishing and selling are weighted highest because they create the most marketplace value. Passive actions (downloads, likes) earn less but accumulate over time.
How is XP deduplicated?
Every XP award is logged to a xp_logs/{uid}_{action}_{key} document in Firestore. The deduplication key is either the specific product ID or a 1-minute time window (floor of Date.now() / 60000). If a log entry already exists for that combination, no XP is awarded.
This prevents farming. You cannot earn download XP twice for the same product from the same user, and generic actions are rate-limited to once per minute.
How does the level curve work?
Levels follow a square-root curve:
level = floor(sqrt(xp / 100))To find the XP required for any level: xp = level^2 * 100.
| Level | XP required | XP to next level | Rank unlocked |
|---|---|---|---|
| 0 | 0 | 100 | Newcomer |
| 1 | 100 | 300 | Bronze |
| 2 | 400 | 500 | -- |
| 3 | 900 | 700 | Silver |
| 4 | 1,600 | 900 | -- |
| 5 | 2,500 | 1,100 | Gold |
| 6 | 3,600 | 1,300 | -- |
| 7 | 4,900 | 1,500 | Platinum |
| 8 | 6,400 | 1,700 | -- |
| 9 | 8,100 | 1,900 | -- |
| 10 | 10,000 | 2,100 | Diamond |
| 15 | 22,500 | 3,100 | Master |
| 20 | 40,000 | 4,100 | Legend |
The curve is deliberately steep. Reaching Diamond (L10) requires 10,000 XP. Reaching Legend (L20) requires 40,000 XP -- four times as much. This ensures high ranks represent sustained contribution, not a single viral product.
What are the 8 ranks?
Each rank corresponds to a minimum level and has a distinct visual presentation.
| Rank | Emoji | Min level | Min XP | Color | Glow |
|---|---|---|---|---|---|
| Newcomer | 🔘 | 0 | 0 | Muted | None |
| Bronze | 🟤 | 1 | 100 | Amber 600 | None |
| Silver | ⚪ | 3 | 900 | Slate 300 | None |
| Gold | 🟡 | 5 | 2,500 | Yellow 400 | None |
| Platinum | 💠 | 7 | 4,900 | Cyan 300 | Primary glow |
| Diamond | 💎 | 10 | 10,000 | Blue 400 | Primary glow |
| Master | 🏆 | 15 | 22,500 | Purple 400 | Primary glow |
| Legend | 👑 | 20 | 40,000 | Primary (terracotta) | Primary glow |
Ranks from Platinum onward receive a glow effect on their profile badge. Your rank updates automatically when your level crosses a threshold -- there is no manual promotion.
What achievements exist?
MyClaude tracks 45 achievements across 9 categories. Each achievement has a tier (bronze, silver, gold, or diamond) that determines its visual treatment.
Publishing (5 achievements)
| Achievement | Tier | Icon | Requirement |
|---|---|---|---|
| Genesis | Bronze | 🚀 | Published 1 product |
| Creator | Silver | 📦 | Published 5 products |
| Prolific | Gold | 🏭 | Published 10 products |
| Factory | Diamond | ⚡ | Published 25 products |
| Architect | Diamond | 🌌 | Published 50 products |
Downloads (5 achievements)
| Achievement | Tier | Icon | Requirement |
|---|---|---|---|
| First Wave | Bronze | 📥 | 10 total downloads |
| Rising | Silver | 📊 | 50 total downloads |
| Trending | Gold | 🔥 | 100 total downloads |
| Viral | Diamond | 💎 | 500 total downloads |
| Tsunami | Diamond | 🌊 | 1,000 total downloads |
Followers (5 achievements)
| Achievement | Tier | Icon | Requirement |
|---|---|---|---|
| Noticed | Bronze | 👤 | 5 followers |
| Influencer | Silver | 👥 | 25 followers |
| Leader | Gold | ⭐ | 100 followers |
| Icon | Diamond | 👑 | 500 followers |
| Institution | Diamond | 🏛️ | 1,000 followers |
Likes (4 achievements)
| Achievement | Tier | Icon | Requirement |
|---|---|---|---|
| Liked | Bronze | ❤️ | 10 likes |
| Popular | Silver | 💕 | 50 likes |
| Beloved | Gold | 💖 | 200 likes |
| Legendary Love | Diamond | 💝 | 500 likes |
Revenue and sales (5 achievements)
| Achievement | Tier | Icon | Requirement |
|---|---|---|---|
| Seller | Bronze | 🔗 | Connected Stripe account |
| Merchant | Silver | 💰 | Made 1 sale |
| Entrepreneur | Gold | 💵 | Made 10 sales |
| Mogul | Diamond | 🏦 | Made 50 sales |
| Tycoon | Diamond | 🤑 | Made 100 sales |
Reviews (3 achievements)
| Achievement | Tier | Icon | Requirement |
|---|---|---|---|
| Reviewed | Bronze | 📝 | Received 1 review |
| Well Rated | Gold | ⭐ | Average rating 4.5+ with 5+ reviews |
| Five Stars | Diamond | 🌟 | Perfect 5.0 rating with 10+ reviews |
Rank milestones (8 achievements)
| Achievement | Tier | Icon | Requirement |
|---|---|---|---|
| Bronze Rank | Bronze | 🟤 | Reached Level 1 |
| Silver Rank | Bronze | ⚪ | Reached Level 3 |
| Gold Rank | Silver | 🟡 | Reached Level 5 |
| Platinum Rank | Silver | 💠 | Reached Level 7 |
| Diamond Rank | Gold | 💎 | Reached Level 10 |
| Master Rank | Gold | 🏆 | Reached Level 15 |
| Legend Rank | Diamond | 👑 | Reached Level 20 |
| Immortal | Diamond | ∞ | Reached Level 30 |
The Immortal achievement sits beyond the named rank system. Level 30 requires 90,000 XP -- this is a long-term goal for the most active creators on the platform.
Special and social (3 achievements)
| Achievement | Tier | Icon | Requirement |
|---|---|---|---|
| Communicator | Bronze | 💬 | Sent 10+ messages |
| Collector | Silver | 📚 | Purchased 5 products |
| Completionist | Gold | 🎯 | Unlocked 20+ achievements |
Category masters (7 achievements)
Category masters reward depth in a single product type. Each requires 5 published products in that category.
| Achievement | Tier | Icon | Category |
|---|---|---|---|
| Skill Master | Gold | 🟢 | Skills |
| Squad Master | Gold | 🔵 | Squads |
| Agent Master | Gold | 🟠 | Agents |
| Workflow Master | Gold | 🟣 | Workflows |
| Design Master | Gold | 🩷 | Design Systems |
| Prompt Master | Gold | 🔷 | Prompts |
| App Master | Gold | 🟩 | Applications |
All category master achievements are gold tier. There are no category masters for claude-md or systems categories.
How does the rankings page work?
The /rankings page shows a leaderboard sorted by XP. Each entry displays the user's rank badge, level, total XP, and achievement count. Rankings are computed client-side from Firestore queries ordered by the xp field.
The leaderboard is public. Anyone can see it without authentication. Profile links from the leaderboard go to the user's public profile page at /u/{username}.
How are XP and achievements verified?
XP increments are written to the user's Firestore document using FieldValue.increment(), which is atomic. Firestore security rules restrict users to incrementing only their own XP field.
Achievements are checked by checkAndUnlockAchievements(), which reads the user's profile stats and evaluates each achievement's condition function. If a condition is met and the achievement hasn't been unlocked yet, a document is written to the users/{uid}/achievements/{achievementId} subcollection. The write uses setDoc with merge: true, making it idempotent even if two calls race past the existence check.
| Integrity measure | How it works |
|---|---|
| XP deduplication | xp_logs/{uid}_{action}_{key} documents with 1-minute time windows |
| Atomic increments | Firestore FieldValue.increment() prevents read-modify-write races |
| Idempotent unlocks | setDoc with merge: true on achievement documents |
| Client-side safety | XP is cosmetic (no financial impact), so client-side writes are acceptable |
| Level recalculation | Level and rank are recomputed from total XP on every XP award, not stored incrementally |
Achievement tier distribution
| Tier | Count | Visual treatment |
|---|---|---|
| Bronze | 9 | Amber background, amber border |
| Silver | 8 | Slate background, slate border |
| Gold | 16 | Yellow background, yellow border |
| Diamond | 12 | Cyan background, cyan border |
The distribution skews toward gold and diamond because most categories have high-tier milestones. Bronze and silver achievements serve as early engagement hooks.
Related pages
- Pricing and Revenue -- the 92/8 creator/platform split
- Concepts Overview -- marketplace mental model
- Rankings -- live leaderboard