Skip to content

yogesh1978/gitstory

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

14 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

GitStory Logo

GitStory

Your Code in Cinema β€” Every Commit Tells a Story

Transform your GitHub journey into a cinematic masterpiece with stunning visuals, personalized insights, and sharable snapshots.

Next.js React Tailwind CSS shadcn/ui

Bun License Live Demo


✨ What is GitStory?

GitStory is a beautiful, Instagram Stories-style web app that transforms any GitHub user's yearly activity into a cinematic, swipeable experience. Enter a GitHub username and watch your coding journey come alive through stunning animated slides showcasing:

  • πŸ“Š Contribution Stats β€” Total commits, longest streaks, busiest days
  • πŸ”₯ Code Velocity β€” Interactive charts showing commit frequency over time
  • πŸ’» Top Languages β€” Beautifully visualized language breakdown with percentages
  • πŸ“ Top Repositories β€” Highlight your most impactful projects
  • ⏰ Productivity Patterns β€” Discover your peak coding hours and rhythm
  • 🎭 Developer Archetype β€” Get assigned a fun coding persona based on your habits
  • πŸ‘₯ Community Impact β€” Followers, stars, and contribution breakdowns
  • πŸ“Έ Downloadable Snapshot β€” Share your story as a stunning image

GitStory Preview


πŸš€ Features

🎬 Story Experience

  • Swipeable Slides β€” Navigate through your year like Instagram Stories
  • Auto-Progress β€” Slides advance automatically with a progress bar
  • Pause on Hold β€” Hold to pause and explore details
  • Smooth Animations β€” Powered by Motion (Framer Motion)

πŸ“ˆ Data Insights

  • GitHub API Integration β€” Fetches real data from GitHub's REST & GraphQL APIs
  • Private Repo Support β€” Optional GitHub token for richer insights
  • Smart Caching β€” Efficient data fetching with React Query
  • Contribution Calendar β€” Full year activity heatmap

🎨 Visual Design

  • Dark/Light Mode β€” Fully themed with animated toggle
  • Premium UI Components β€” 60+ shadcn/ui components
  • Interactive Globe β€” 3D globe visualization on homepage
  • Confetti Celebrations β€” Fun effects on story completion
  • Responsive Design β€” Works beautifully on mobile and desktop

πŸ”— Sharing & SEO

  • Dynamic OG Images β€” Auto-generated social preview images per user
  • PWA Ready β€” Installable as a Progressive Web App
  • SEO Optimized β€” Full metadata, structured data, and sitemap

πŸ› οΈ Tech Stack

Category Technology
Framework Next.js 16 (App Router)
Language TypeScript
Styling Tailwind CSS 4
UI Library shadcn/ui + Radix UI
Animations Motion (Framer Motion)
Charts Recharts
State React Query (TanStack Query)
Data Fetching GitHub REST API + GraphQL API
Image Generation @vercel/og
Package Manager Bun

πŸ“¦ Project Structure

src/
β”œβ”€β”€ app/
β”‚   β”œβ”€β”€ (app)/              # Main app layout with header
β”‚   β”‚   β”œβ”€β”€ layout.tsx      # App shell with theme toggle & GitHub link
β”‚   β”‚   └── page.tsx        # Homepage with username input & globe
β”‚   β”œβ”€β”€ [githubId]/         # Dynamic user story route
β”‚   β”‚   β”œβ”€β”€ page.tsx        # Story page (SSR data fetching)
β”‚   β”‚   β”œβ”€β”€ loading.tsx     # Loading skeleton
β”‚   β”‚   └── opengraph-image/# Dynamic OG image generation
β”‚   β”œβ”€β”€ layout.tsx          # Root layout with fonts & metadata
β”‚   β”œβ”€β”€ globals.css         # Tailwind + custom CSS variables
β”‚   β”œβ”€β”€ manifest.ts         # PWA manifest
β”‚   └── robots.ts           # SEO robots.txt
β”œβ”€β”€ components/
β”‚   β”œβ”€β”€ slides/             # Story slide components
β”‚   β”‚   β”œβ”€β”€ IntroSlide.tsx
β”‚   β”‚   β”œβ”€β”€ StatsSlide.tsx
β”‚   β”‚   β”œβ”€β”€ VelocitySlide.tsx
β”‚   β”‚   β”œβ”€β”€ ProductivitySlide.tsx
β”‚   β”‚   β”œβ”€β”€ LanguagesSlide.tsx
β”‚   β”‚   β”œβ”€β”€ ReposSlide.tsx
β”‚   β”‚   β”œβ”€β”€ CommunitySlide.tsx
β”‚   β”‚   β”œβ”€β”€ CompositionSlide.tsx
β”‚   β”‚   └── OutroSlide.tsx
β”‚   β”œβ”€β”€ StoryView.tsx       # Main story container with navigation
β”‚   β”œβ”€β”€ ui/                 # 60+ shadcn/ui components
β”‚   └── custom/             # Custom components (icons, theme toggle)
β”œβ”€β”€ services/
β”‚   β”œβ”€β”€ githubService.ts    # GitHub API integration
β”‚   └── scoringAlgorithms.ts # Archetype & scoring logic
β”œβ”€β”€ context/
β”‚   └── providers.tsx       # React providers (Theme, React Query)
β”œβ”€β”€ hooks/
β”‚   └── use-mobile.ts       # Mobile detection hook
β”œβ”€β”€ lib/
β”‚   β”œβ”€β”€ config.ts           # Site configuration
β”‚   β”œβ”€β”€ constants.ts        # Demo/mock data
β”‚   └── utils.ts            # Utility functions
└── types.ts                # TypeScript type definitions

πŸƒβ€β™‚οΈ Getting Started

Prerequisites

  • Bun (recommended) or Node.js β‰₯20
  • A GitHub account (optional: Personal Access Token for enhanced features)

Installation

# Clone the repository
git clone https://github.com/vishkx/gitstory.git
cd gitstory

# Install dependencies
bun install

# Start development server
bun dev

Open http://localhost:3000 in your browser.

Using a GitHub Token (Recommended)

For richer insights including private repositories and higher API rate limits:

  1. Create a Personal Access Token
  2. Enter the token in the app when prompted
  3. Token is stored locally in your browser β€” never sent to any server

πŸ“œ Available Scripts

Script Description
bun dev Start development server with hot reload
bun build Create optimized production build
bun start Start production server
bun lint Run ESLint for code quality

🎨 Customization

Site Configuration

Update src/lib/config.ts to customize:

export const siteConfig = {
  title: "GitStory",
  description: "Your GitStory is here...",
  links: {
    github: "https://github.com/vishkx/gitstory",
  },
}

Theme Colors

Modify CSS variables in src/app/globals.css to change the color scheme.

Adding Slides

  1. Create a new component in src/components/slides/
  2. Add it to the slides array in src/components/StoryView.tsx

🌐 Deployment

GitStory is optimized for deployment on Vercel:

Deploy with Vercel

Also works on:

  • Netlify
  • Docker
  • Any Node.js hosting platform

For platform-specific instructions, see the Next.js deployment docs.


πŸ™ Credits

Created and maintained by vishkx.

Special thanks to:


πŸ“„ License & Community

  • License: This project is licensed under the MIT License. See LICENSE for details.
  • Code of Conduct: By participating in this project, you agree to follow the guidelines in CODE_OF_CONDUCT.md.

⭐ Star this repo if you found it useful!

Try GitStory Now β†’

About

Every commit tells a story. Transform your GitHub journey into a cinematic masterpiece with stunning visuals, personalized insights, and sharable snapshots. Discover your coding rhythm, celebrate your impact, and share your developer story with the world.

Resources

License

Code of conduct

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors