A GitHub Achievement Tracker that helps users understand, track, and work toward earning genuine GitHub profile achievements through their real contributions and activities.
Experience Qualities:
- Informative - Clearly explains what each achievement is, how to earn it, and tracks user progress
- Motivational - Encourages users to engage more with GitHub through visual progress tracking and actionable tips
- Transparent - Shows real data from the user's GitHub profile to provide honest assessment of achievement eligibility
Complexity Level: Light Application (multiple features with basic state)
- This app fetches real GitHub user data, displays achievement information, tracks progress, and provides actionable guidance - making it more than a simple tool but not requiring complex state management or backend infrastructure.
- Functionality: Displays all available GitHub achievements with badges, descriptions, and unlock criteria
- Purpose: Educates users about what achievements exist and how to earn them
- Trigger: App loads with full gallery visible
- Progression: User lands on app → sees grid of all achievements → can view locked/unlocked status → reads requirements for each
- Success criteria: All GitHub achievements displayed with accurate unlock criteria and visual distinction between earned/unearned
- Functionality: Shows user's current GitHub profile data and progress toward unearned achievements
- Purpose: Provides personalized insight into how close the user is to earning specific achievements
- Trigger: User authenticates or views their profile
- Progression: User opens app → views achievements → sees personalized progress bars → identifies which achievements are closest to earning
- Success criteria: Accurate reflection of user's GitHub activity with clear progress indicators
- Functionality: Expandable detailed view for each achievement with tips and strategies
- Purpose: Helps users understand exactly what actions to take to earn specific achievements
- Trigger: User clicks on any achievement card
- Progression: User clicks achievement → modal opens → shows detailed requirements → displays actionable tips → user can take action
- Success criteria: Clear, actionable guidance that users can immediately apply to their GitHub workflow
- Functionality: Provides specific, practical advice for earning each achievement
- Purpose: Removes ambiguity and gives users concrete next steps
- Trigger: Displayed in achievement details and as suggestions
- Progression: User views achievement → reads tips → understands specific actions → can implement immediately
- Success criteria: Tips are specific enough to act on (e.g., "Star 3 more repositories" vs "Be more active")
- Unauthenticated Users: Show achievement gallery with generic progress states and prompt to view personal progress
- API Rate Limiting: Display cached data with timestamp and refresh availability indicator
- Missing Data: Show placeholder states with explanations when GitHub data is incomplete
- New Achievements: Design allows for easy addition of new achievements as GitHub introduces them
- Private Activity: Explain that some achievements may not track properly if profile is fully private
The design should feel professional and motivational, like a gaming achievement system but with GitHub's developer-focused aesthetic - clean, modern, and purpose-driven with subtle gamification elements that inspire without feeling juvenile.
Triadic color scheme that combines GitHub's signature colors with motivational accent colors for achievements and progress.
- Primary Color: GitHub Dark (oklch(0.205 0 0)) - Represents the core GitHub brand and authority
- Secondary Colors: Muted slate (oklch(0.45 0.01 250)) for locked achievements, creating visual hierarchy
- Accent Color: Achievement Gold (oklch(0.75 0.15 85)) - Celebrates earned achievements and progress milestones
- Foreground/Background Pairings:
- Background (White oklch(1 0 0)): Dark text (oklch(0.145 0 0)) - Ratio 20:1 ✓
- Card (White oklch(1 0 0)): Dark text (oklch(0.145 0 0)) - Ratio 20:1 ✓
- Primary (GitHub Dark oklch(0.205 0 0)): White text (oklch(0.985 0 0)) - Ratio 16:1 ✓
- Accent (Achievement Gold oklch(0.75 0.15 85)): Dark text (oklch(0.205 0 0)) - Ratio 8.5:1 ✓
- Muted (Light Gray oklch(0.97 0 0)): Muted text (oklch(0.556 0 0)) - Ratio 5.2:1 ✓
Typography should be clean and developer-friendly while maintaining approachability - using GitHub's preferred system fonts with Inter for its excellent readability and modern aesthetic.
- Typographic Hierarchy:
- H1 (Page Title): Inter Bold/32px/tight letter-spacing/-0.02em
- H2 (Section Headers): Inter Semibold/24px/normal letter-spacing
- H3 (Achievement Names): Inter Semibold/18px/normal letter-spacing
- Body (Descriptions): Inter Regular/15px/1.6 line-height
- Small (Meta info): Inter Regular/13px/muted color
- Badge Text: Inter Medium/12px/uppercase/0.05em letter-spacing
Motion should feel purposeful and rewarding, with subtle interactions that acknowledge user engagement and celebratory animations when achievements are close to completion - balancing professional restraint with motivational delight.
- Purposeful Meaning: Use shimmer effects on locked achievements to suggest potential, smooth progress bar fills to show advancement, and subtle scale transforms on hover to invite interaction
- Hierarchy of Movement: Achievement cards get primary animation focus with hover lifts and progress changes, modal transitions are smooth and contextual, and progress bars animate their fills to celebrate advancement
-
Components:
- Card (achievement displays with custom styling for locked/unlocked states)
- Dialog (detailed achievement information and tips)
- Progress (visual progress bars for achievement tracking)
- Badge (compact achievement status indicators)
- Avatar (user profile display)
- Tabs (switching between all achievements, earned, and in-progress views)
- Scroll-area (for long achievement lists)
- Tooltip (quick info on hover)
-
Customizations:
- Custom achievement card component with gradient borders for unlocked achievements
- Progress component with gold accent color for visual celebration
- Custom badge component with GitHub achievement badge styling
-
States:
- Achievement cards: locked (grayscale), in-progress (partial color with progress), unlocked (full color with gold accent)
- Buttons: subtle hover lift with shadow, active press down, disabled state with reduced opacity
- Progress bars: smooth animated fills, color transitions based on completion percentage
-
Icon Selection:
- Trophy (earned achievements)
- Lock (locked achievements)
- Target (in-progress goals)
- GitBranch (contribution-related achievements)
- Star (community achievements)
- Code (coding streak achievements)
- Users (collaboration achievements)
-
Spacing:
- Page padding: p-6 md:p-8
- Section gaps: gap-8
- Card grid: gap-4
- Card internal: p-6
- Component spacing: space-y-4 for vertical stacks
-
Mobile:
- Single column achievement grid on mobile, 2 columns on tablet, 3-4 on desktop
- Sticky header with user info collapses to compact bar on scroll
- Dialog/modal transitions to full-screen drawer on mobile using vaul
- Touch-optimized card sizes with minimum 44px tap targets
- Progressive disclosure with expandable sections on mobile for detailed info