Skip to content

Majority Wrapped 2025 - Progress Tracker

✅ Completed

Step 1: Data Aggregation (2025-12-17)

  • [x] Created wrapped/generate_wrapped_stats.py script
  • [x] Aggregates all 143 repo CSVs from pr_stats_output/
  • [x] Maps GitHub usernames to emails/display names via majority_dev_users_20251217_131102.csv
  • [x] Generated wrapped/wrapped_stats.csv with the following columns:
    • email - for user lookup
    • display_name - friendly name
    • github_username - GH handle
    • prs_shipped - total PRs merged
    • lines_added - lines of code written
    • lines_deleted - lines cleaned up
    • repos_touched - unique repos contributed to
    • reviews_given - PRs approved
    • top_commenter_count - PRs where user was most active reviewer
    • busiest_month - month with most activity
    • favorite_repo - most contributed repo
    • fastest_merge_minutes - quickest PR turnaround (excludes auto-merges under 5 min)

Stats:
- 50 users processed
- 42 users with PR activity
- 12,635 PRs analyzed
- Top contributor: Victor Blomqvist (804 PRs)


✅ Completed

Step 2: Build Static Website (2025-12-17)

  • [x] Create HTML structure in wrapped/index.html
  • [x] Email input form with "Unwrap 2025" button
  • [x] CSV loading and parsing (custom lightweight parser)
  • [x] Case-insensitive email matching
  • [x] Loading state while parsing

Step 3: Stats Display Cards (2025-12-17)

  • [x] PRs Shipped card (hero stat)
  • [x] Lines of Code card
  • [x] Code Cleaner card (lines deleted)
  • [x] Repos Touched card
  • [x] Reviews Given card
  • [x] Top Commenter card
  • [x] Busiest Month card
  • [x] Favorite Repo card
  • [x] Speed Record (fastest merge) card

Step 4: Styling & Animation (2025-12-17)

  • [x] Majority-inspired + hacker aesthetic design
    • Dark terminal-style background with grid pattern
    • Majority teal (#00D4AA) as primary accent
    • JetBrains Mono for code/hacker feel
    • Space Grotesk for headings (clean, modern)
    • Subtle scanline effect for retro vibe
  • [x] Large bold typography for numbers with gradient
  • [x] Sequential fade/slide-in animations with staggered delays
  • [x] Animated number counting effect
  • [x] Mobile-responsive layout
  • [x] "User not found" error message with styling
  • [x] Hover effects on cards with glow

🔲 To Do

Step 5: Testing & Polish

  • [x] Test with multiple users
  • [x] Mobile testing on phone ✅
  • [ ] Test edge cases (no PRs, missing data)
  • [ ] Cross-browser testing
  • [ ] Final polish

📁 Files

File Purpose
wrapped/generate_wrapped_stats.py Data aggregation script
wrapped/wrapped_stats.csv Aggregated user stats
wrapped/index.html Static website (TODO)