Skip to main content

Repository Wrapped

Repository Wrapped creates Spotify-inspired year-in-review visualizations for GitHub repositories. It analyzes a full year of repository activity and presents insights through an engaging, interactive story format.

What Data is Analyzed

The Repository Wrapped feature analyzes comprehensive data across multiple dimensions:

Repository Information

  • Repository name, description, and metadata
  • Star count and fork count
  • Primary programming language

Commit Activity

  • Total commits for the year
  • Commits broken down by:
    • Month - Track which months were most active
    • Day of week - Identify workflow patterns (weekday vs. weekend)
    • Hour of day - Discover when the team is most productive
  • Average commits per day
  • Busiest month and week identification

Contributor Metrics

  • Top contributors by commit count (top 5)
  • Top contributors by lines changed (top 5)
    • Lines added
    • Lines removed
  • Total contributor count
  • New contributors estimate

Community Growth

  • Stars gained during the year
  • Forks gained
  • Issues opened and closed
  • Pull requests merged

Language Statistics

  • Language breakdown by bytes of code
  • Percentage distribution across languages (top 10)
  • Sorted by usage

Release Information

  • All releases published during the year
  • Major vs. minor release classification
  • Release names and dates

Monthly Snapshots

Detailed month-by-month tracking of:
  • Commits
  • Pull requests merged
  • Issues opened and closed
  • Stars and forks gained
  • Active contributors per month

How to Generate a Repository Wrapped

1

Navigate to GitHub Wrapped

Go to the GitHub Wrapped homepage
2

Enter Repository Details

Input the repository owner and name in the format owner/repoExample: facebook/react
3

Select Year

Choose the year you want to analyze (defaults to current year)
4

Generate Wrapped

Click the generate button to create your wrapped visualization
Repository Wrapped data is cached for 24 hours to improve performance and reduce API usage.

Insights Shown in the Visualization

The Repository Wrapped story presents data through multiple themed slides:

1. Welcome Slide

Introduces the repository and year being analyzed with branding.

2. Key Statistics

Highlights the most important numbers:
  • Total commits
  • Total contributors
  • Stars gained
  • Pull requests merged

3. MVP Contributor

Spotlights the top contributor with:
  • Avatar and username
  • Total contributions
  • Lines of code added/removed (when available)

4. Community Growth

Visualizes community engagement:
  • Stars gained
  • Forks gained
  • Issues opened and closed
  • PR merge count

5. Activity Patterns

Reveals when the team is most active:
  • Busiest Month - Which month had the most commits
  • Night Owl Detection - Late night coding patterns (commits after 10 PM)
  • Weekend Warrior - Weekend development activity

6. Language Breakdown

Shows the technology stack with percentage distribution of programming languages.

7. Major Releases

Highlights significant releases published during the year (if applicable).

8. Summary

Recaps the year’s achievements with all key metrics.

9. Share

Provides options to share the wrapped visualization on social media or copy the link.

Implementation Details

The repository wrapped is generated by the AnalyticsEngine class:
// Located in lib/analytics.ts:31-39
const wrapped = await analytics.generateWrapped(owner, repo, year);
The engine fetches data from multiple GitHub API endpoints in parallel:
  • Repository information
  • Contributor list
  • Commit history (filtered by date range)
  • Language statistics
  • Releases
  • Issues (opened and closed)
  • Pull requests
  • Fork activity
  • Stargazers (with timestamps when available)
The visualization uses animated slides with unique color themes for each section, creating an engaging experience similar to Spotify Wrapped.
Interact with the wrapped story using:
  • Arrow Keys - Navigate between slides (← →)
  • Spacebar - Toggle auto-play mode (5 seconds per slide)
  • On-screen buttons - Click navigation arrows
  • Progress bars - Visual indicator of position in the story

API Route

Access repository wrapped programmatically:
GET /wrapped/{owner}/{repo}/{year}
Example: /wrapped/facebook/react/2024

Build docs developers (and LLMs) love