Transform your GitHub contributions into a stunning, Instagram Stories-style cinematic experience.
| Feature | Description |
|---|---|
| π₯ Cinematic Experience | 11 beautifully animated slides with Instagram Stories-like navigation |
| π Live GitHub Data | Real-time stats fetched from GitHub API β commits, PRs, issues, reviews |
| 𧬠Smart Archetypes | AI-determined coding personas: Night Owl, Weekend Warrior, Grid Painter, and more |
| π Velocity Charts | Animated contribution charts powered by Recharts |
| ποΈ Contribution Grid | Visual heatmap of your 2025 coding activity |
| π Top 5 Repositories | Showcase your best projects with smart ranking |
| π¨ Language Breakdown | Beautiful visualization of your tech stack (55+ languages!) |
| π± Mobile-First | Touch gestures: tap left/right to navigate, hold to pause |
| π GitHub Token Support | Optional authentication for private repos & org repos |
| πΌοΈ Poster Export | Download a shareable movie-poster style summary |
| π Confetti Celebration | End your story with style |
- With Token: Only 4 API calls (GraphQL bundles contributions + PR/Issue/Review counts!)
- Without Token: 7 API calls (REST fallback)
- 43% fewer API calls when authenticated!
Projects are now ranked using 12 factors instead of just stars:
- β Stars & Forks (logarithmic scale)
- π Recent activity in 2025 (time-decay bonus)
- β¨ Original work (not forks)
- π Description & Topics
- π» Primary language
- π¦ Repository size
- π Open issues (activity indicator)
- π Created in 2025 bonus
- π Watchers
- π¦ Archived penalty
- π« Excludes forks (your own code only)
- π 2025 activity bonus (recent work counts more)
- π― Diversity bonus (3+ repos = extra weight)
- π Optional token input with validation
- β "Connected as @username" badge with avatar
- π’ Access to organization repositories
- π Private contributions via GraphQL API
- π 5000 API calls/hour (vs 60 without token)
- π Rate limit errors with reset time
- π‘ User not found suggestions
- π΄ Authentication error guidance
- π Retry button for rate limits
Experience your year through 11 cinematic slides:
| # | Slide | What It Shows |
|---|---|---|
| 1 | Title | Your username & avatar with dramatic reveal |
| 2 | Velocity | Animated area chart of daily commits |
| 3 | Grid | Full-year contribution heatmap |
| 4 | Composition | Breakdown: Commits vs PRs vs Issues vs Reviews |
| 5 | Routine | Your busiest day of the week |
| 6 | Productivity | Peak coding hours & time-of-day persona |
| 7 | Community | Followers, stars, and repo count |
| 8 | Languages | Top 3 programming languages |
| 9 | Top 5 Repos | Your best repositories ranked by score |
| 10 | Top Repo | Spotlight on your #1 repository |
| 11 | Poster | π¬ Downloadable movie poster with confetti! |
Based on your behavior patterns, you'll be assigned one of these personas:
| Archetype | Criteria |
|---|---|
| π The Pull Request Pro | Opens many PRs (>20% of activity) |
| π The Reviewer | Frequent code reviewer (>10% of activity) |
| π The Night Owl | Peak activity after 10 PM |
| π The Early Bird | Peak activity before noon |
| ποΈ The Weekend Warrior | >35% commits on weekends |
| π¨ The Grid Painter | 1200+ commits (green squares everywhere!) |
| β‘ The Consistent | 400+ commits, steady contributor |
| π The Planner | High issue-to-commit ratio |
| β The Community Star | 500+ followers or 1000+ total stars |
| π§ The Tinkerer | Default β you're exploring! |
# Clone the repository
git clone https://github.com/devndesigner6/gitstory-25.git
cd gitstory-25
# Install dependencies
npm install
# Start development server
npm run devOpen http://localhost:5173 and enter any GitHub username!
π‘ Tip: Type
demoto see a full experience with mock data.
For enhanced features, add a GitHub Personal Access Token:
- Click "Add GitHub Token (Optional)" on the home page
- Paste your token (starts with
ghp_) - See "Connected as @username" confirmation
| Feature | Without Token | With Token |
|---|---|---|
| Rate Limit | 60/hour | 5000/hour |
| Private Repos | β | β |
| Org Repos | β | β |
| Private Contributions | β | β |
Create a token with correct scopes β
| Technology | Purpose |
|---|---|
| React 19 | UI Components with latest features |
| TypeScript | Type-safe development |
| Vite 6 | Lightning-fast build tool |
| Tailwind CSS 4 | Utility-first styling with @theme config |
| Framer Motion | Buttery-smooth animations |
| Recharts | Beautiful, responsive charts |
| Lucide React | Consistent icon system |
| html-to-image | Poster PNG export |
| canvas-confetti | Celebration effects π |
| # | Endpoint | Purpose |
|---|---|---|
| 1 | /users/{username} |
Basic profile info |
| 2 | /user/repos |
All repos (org + private) |
| 3 | GraphQL | Contributions + PRs + Issues + Reviews (4-in-1!) |
| 4 | /users/{username}/events |
Time-of-day patterns |
| # | Endpoint | Purpose |
|---|---|---|
| 1 | /users/{username} |
Basic profile info |
| 2 | /users/{username}/repos |
Repository list |
| 3 | github-contributions-api |
Contribution heatmap |
| 4 | /users/{username}/events |
Time-of-day patterns |
| 5 | /search/issues?q=type:pr |
PR count for 2025 |
| 6 | /search/issues?q=type:issue |
Issue count for 2025 |
| 7 | /search/issues?q=reviewed-by: |
Review count for 2025 |
| Type | Limit | API Efficiency |
|---|---|---|
| Without Token | 60/hour | ~8 users/hour |
| With Token | 5000/hour | ~1250 users/hour |
| Action | Effect |
|---|---|
| Tap right 2/3 | Next slide |
| Tap left 1/3 | Previous slide |
| Hold anywhere | Pause timer |
| Release | Resume timer |
| Key | Effect |
|---|---|
| β or D | Next slide |
| β or A | Previous slide |
| Space | Pause/Resume |
| Escape | Exit story |
gitstory-25/
βββ index.html # Entry point
βββ index.css # Tailwind + custom styles
βββ index.tsx # React root
βββ App.tsx # Main app with landing page & token input
βββ types.ts # TypeScript interfaces
βββ constants.ts # Mock data & configuration
βββ vite.config.ts # Vite configuration
βββ services/
β βββ githubService.ts # GitHub API + GraphQL integration
β βββ scoringAlgorithms.ts # Modular scoring logic (languages, repos, archetypes)
βββ components/
βββ StoryContainer.tsx # Slide navigation & gestures
βββ SlideLayout.tsx # Reusable slide wrapper
βββ TextReveal.tsx # Animated text component
βββ slides/
βββ TitleSlide.tsx
βββ VelocitySlide.tsx
βββ GridSlide.tsx
βββ CompositionSlide.tsx
βββ RoutineSlide.tsx
βββ ProductivitySlide.tsx
βββ CommunitySlide.tsx
βββ LanguagesSlide.tsx
βββ TopReposSlide.tsx # NEW: Top 5 repos
βββ RepoSlide.tsx
βββ PosterSlide.tsx
# Production build
npm run build
# Preview production build
npm run previewDeploy the dist/ folder to any static host:
- Vercel (recommended)
- Netlify
- GitHub Pages
- Cloudflare Pages
MIT Β© 2025
Made with π for developers who ship
Star β this repo if you found it useful!