A beautiful, personalized year-in-review experience for your GitHub activity. Get insights into your coding journey with stunning visualizations, stats, and AI-generated highlights.
- π Comprehensive Stats - Total commits, pull requests, issues, and contributions over the last 12 months
- π Year-over-Year Growth - See how your activity compares to the previous year (e.g.
+24% vs 2024) - π₯ Streaks & Best Day - Your longest contribution streak and most active day of the week
- π Achievement Badges - Auto-awarded badges like Elite Contributor, Daily Coder, and language mastery
- π Commit Activity Timeline - Monthly chart of your coding patterns throughout the year
- π¨ Top Languages - Beautiful chart showing your most-used programming languages
- π Top Repositories - Showcase your most active projects
- π€ AI-Powered Highlights - Personalized highlight cards generated with Google Gemini (with cached results and a graceful fallback when the AI quota is exhausted)
- πΈ Shareable Cards - Export your wrapped as a PNG image, or share directly to X (Twitter), LinkedIn, or via link
- π‘οΈ Rate-Limit Aware - Live GitHub API rate-limit banner so you always know your remaining quota
- π Smooth Animations - Engaging user experience with Framer Motion
- π No Login Required - Works with public GitHub data only
- React 19 - UI library
- Vite 7 - Build tool and dev server
- Tailwind CSS - Utility-first CSS framework
- Framer Motion - Animation library
- Chart.js + react-chartjs-2 - Data visualization
- React Router - Client-side routing
- Lucide React & React Icons - Icon libraries
- modern-screenshot - Export the dashboard as a PNG image
- Node.js - Runtime environment
- Express 5 - Web framework
- graphql-request - GitHub GraphQL API queries
- Google Generative AI - AI-powered highlights (Gemini)
- CORS - Cross-origin resource sharing
- dotenv - Environment variable management
- Node.js (v20.19+ β required by Vite 7)
- npm or yarn
- GitHub Personal Access Token
- Google Gemini API Key
- Clone the repository
git clone https://github.com/tolgab35/github-wrapped.git
cd github-wrapped- Install backend dependencies
cd backend
npm install- Install frontend dependencies
cd ../frontend
npm install- Configure environment variables
Create a .env file in the backend directory:
GITHUB_TOKEN=your_github_personal_access_token
GEMINI_API_KEY=your_google_gemini_api_key
# Allowed CORS origin for the frontend (optional in local dev).
# Defaults to the production Vercel URL if unset.
FRONTEND_URL=http://localhost:5173Note: The backend listens on port
3001(hardcoded inserver.js).
Create a .env file in the frontend directory:
# Base URL of the backend API. Defaults to http://localhost:3001 if unset.
VITE_API_URL=http://localhost:3001To get your API keys:
- GitHub Token: Go to GitHub Settings β Developer Settings β Personal Access Tokens β Generate new token (classic)
- Required scope:
read:user(the app only reads public contribution data)
- Required scope:
- Gemini API: Visit Google AI Studio
- Start the backend server
cd backend
npm startThe server will run on http://localhost:3001
- Start the frontend development server
cd frontend
npm run devThe app will run on http://localhost:5173
- Open your browser and navigate to
http://localhost:5173
cd frontend
npm run buildThe production build will be in the dist folder.
The backend is ready for deployment as-is. Make sure to set environment variables on your hosting platform.
The project includes a vercel.json configuration (SPA rewrites) for easy deployment:
cd frontend
vercel deploySet the VITE_API_URL environment variable on the host to point at your deployed backend.
Deploy the backend to your preferred Node.js hosting platform and set the GITHUB_TOKEN, GEMINI_API_KEY, and FRONTEND_URL (your deployed frontend URL, used for CORS) environment variables.
Contributions are welcome! Please feel free to submit a Pull Request.
- Fork the repository
- Create your feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add some AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
Tolga B.
- GitHub: @tolgab35
- GitHub API for providing comprehensive user data
- Google Gemini for AI-powered insights
- All the amazing open-source libraries used in this project
If you have any questions or run into issues, please open an issue on GitHub.
β If you found this project helpful, please give it a star!
