Skip to content

feat: add year in code wrapped page#1097

Open
palakjaiswal16 wants to merge 1 commit into
Priyanshu-byte-coder:mainfrom
palakjaiswal16:fix/year-in-code-wrapped
Open

feat: add year in code wrapped page#1097
palakjaiswal16 wants to merge 1 commit into
Priyanshu-byte-coder:mainfrom
palakjaiswal16:fix/year-in-code-wrapped

Conversation

@palakjaiswal16
Copy link
Copy Markdown

Summary

Adds a new /wrapped Year in Code annual recap experience with animated stat slides, annual GitHub activity aggregation, social sharing, and a generated shareable OG image card.

Closes #1073

Type of Change

  • Bug fix
  • New feature
  • Documentation update
  • Refactor / code cleanup

Changes Made

  • Added authenticated /wrapped page for the Year in Code recap.
  • Added animated slide-based recap UI with year picker and social share buttons.
  • Added /api/wrapped endpoint to aggregate annual stats including commits, longest streak, top languages, merged PRs, most contributed repo, most productive month, and peak coding hour.
  • Added /api/wrapped/og ImageResponse endpoint for shareable recap cards.
  • Added dashboard link to access the Wrapped page.
  • Added tests for wrapped stat helper calculations.

How to Test

Steps for the reviewer to verify this works:

  1. Run npm run type-check.
  2. Run npm run lint.
  3. Run npm test -- --run test/wrapped.test.ts.
  4. Start the app with npm run dev.
  5. Sign in and open /wrapped.
  6. Verify the year picker loads annual stats.
  7. Navigate through the recap slides.
  8. Verify the Twitter/X and LinkedIn share buttons are present.
  9. Open /api/wrapped/og?username=test&year=2025&commits=42&streak=7&language=TypeScript&repo=test%2Frepo and confirm a PNG share card is generated.

Checklist

  • Linked issue in summary
  • npm run lint passes locally
  • No TypeScript errors (npm run type-check)
  • Self-reviewed the diff
  • Added/updated tests if applicable

@vercel
Copy link
Copy Markdown

vercel Bot commented May 25, 2026

@palakjaiswal16 is attempting to deploy a commit to the PRIYANSHU DOSHI's projects Team on Vercel.

A member of the Team first needs to authorize it.

@github-actions github-actions Bot added gssoc26 GSSoC 2026 contribution type:feature GSSoC type bonus: new feature type:testing GSSoC type bonus: tests (+10 pts) labels May 25, 2026
@github-actions
Copy link
Copy Markdown

GSSoC Label Checklist 🏷️

@Priyanshu-byte-coder — please apply the appropriate labels before merging:

Difficulty (pick one):

  • level:beginner — 20 pts
  • level:intermediate — 35 pts
  • level:advanced — 55 pts
  • level:critical — 80 pts

Quality (optional):

  • quality:clean — ×1.2 multiplier
  • quality:exceptional — ×1.5 multiplier

Validation (required to score):

  • gssoc:approved — counts for points
  • gssoc:invalid / gssoc:spam / gssoc:ai-slop — does not score

Type labels (type:*) are auto-detected from files and title. Review and adjust if needed.
Points formula: (difficulty × quality_multiplier) + type_bonus

Copy link
Copy Markdown

@github-actions github-actions Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for your first PR on DevTrack! 🎉

A maintainer will review it within 48 hours. While you wait:

  • Make sure CI is passing (type-check + lint)
  • Double-check the PR description is filled out and the issue is linked
  • Feel free to ask questions in Discussions if you need help

If you find DevTrack useful, a ⭐ star on the repo is always appreciated — it helps the project grow and attract more contributors!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

gssoc26 GSSoC 2026 contribution type:feature GSSoC type bonus: new feature type:testing GSSoC type bonus: tests (+10 pts)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

feat: "Year in Code" annual recap page (like Spotify Wrapped)

1 participant