Skip to content

Latest commit

Β 

History

12 Commits

Folders and files

NameName
Last commit message
Last commit date
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸ“Š GitStats Studio

A self-hosted GitHub profile README card generator built with Next.js. It helps you create elegant, themeable SVG cards for stats, developer ranks, streaks, coding habits, achievements, contribution graphs, trophies, typing banners, pinned repos, and tech stacks for your profile README.

GitStats Banner Themes Styles Widgets


✨ What this project does

GitStats Studio is a modern card studio for GitHub profiles. It ships with:

  • Interactive Card Studio & Full README Composer: Customize individual widgets or compose an entire profile README suite in one click.
  • 12 Dynamic SVG Card Endpoints: Profile stats, developer ranks, coding habits, trophies, typing banners, streaks, contribution heatmap, tech stack, pinned repo, top repos, achievements.
  • 24+ Curated Themes & Live Custom Color Pickers: Dracula, Cyberpunk, Nord, Catppuccin Mocha/Latte, One Dark, RosΓ© Pine, Gruvbox, Moonlight, Aurora, Matrix, and more.
  • Direct Asset Export: One-click SVG and @2x Retina PNG download via client-side canvas rasterization.
  • Multi-PAT Token Load Balancing: Automatic token rotation for high rate-limit resilience.

πŸ”’ Access policy

Important

This deployment is restricted and is not open to everyone by default.

To get access:

  1. Star this repository
  2. Open a pull request adding your GitHub username to USERS.md
  3. Wait for approval and merge

🎨 Available themes

The following 24+ curated themes are supported through the theme parameter:

default, dracula, nord, cyberpunk, synthwave, emerald, sunset, tokyonight, glass, light, catppuccin-mocha, catppuccin-latte, one-dark, rose-pine, gruvbox-dark, moonlight, hyper-neon, midnight-blue, aurora, matrix-green, blood-orange, cobalt, solarized-dark, monokai.

🧩 Available styles

modern, sleek, cyber, classic, minimal, compact.


πŸ“ Sizing & Responsiveness Parameters

All 12 card endpoints support responsive auto-scaling and custom pixel dimensions:

Parameter Type Default Description Example
responsive Boolean false Enables fluid 100% width auto-scaling with preserved aspect ratio &responsive=true
width / card_width Number Auto Sets custom SVG width in pixels &width=600
height / card_height Number Auto Sets custom SVG height in pixels &height=240
scale Float 1.0 Uniform multiplier scale factor (0.5 to 2.5) &scale=1.25
border_radius Number 16 Corner radius in pixels (0 to 32) &border_radius=20

πŸ“¦ API Endpoints & Parameters

1. Developer Rank & Score (/api/rank)

![Developer Rank](https://your-domain.vercel.app/api/rank?username=YOUR_USERNAME&theme=dracula&style=modern&responsive=true)
  • username: GitHub handle (required)
  • theme, style, animate, font_family
  • width, height, scale, responsive, border_radius

2. Profile Stats (/api/stats or /api)

![GitHub Stats](https://your-domain.vercel.app/api/stats?username=YOUR_USERNAME&theme=dracula&style=modern&scale=1.1)
  • username: GitHub handle (required)
  • theme, style, animate, font_family, hide_border
  • width, height, scale, responsive, border_radius

3. Diurnal Coding Habits (/api/habits)

![Coding Habits](https://your-domain.vercel.app/api/habits?username=YOUR_USERNAME&theme=tokyonight&utc_offset=6)
  • username: GitHub handle (required)
  • utc_offset: Timezone offset in hours (e.g. 6 for UTC+6, -5 for EST, default 0)
  • theme, animate, width, height, scale, responsive, border_radius

4. Milestone Trophies (/api/trophies)

![Trophies](https://your-domain.vercel.app/api/trophies?username=YOUR_USERNAME&theme=gruvbox-dark&column=6)
  • username: GitHub handle (required)
  • column: Number of columns for trophy layout (3, 4, 6, 8)
  • theme, animate, width, height, scale, responsive, border_radius

5. Animated Multi-Line Typing Banner (/api/typing)

![Typing Banner](https://your-domain.vercel.app/api/typing?lines=Building+Next-Gen+Apps;Full-Stack+Engineer;Open+Source+Builder&theme=matrix-green)
  • lines: Semicolon-separated or newline-encoded phrases for multi-line typewriter animation
  • theme, font_family, width, height, scale, responsive, border_radius

6. Top Languages Breakdown (/api/top-langs)

![Top Languages](https://your-domain.vercel.app/api/top-langs?username=YOUR_USERNAME&theme=cyberpunk&limit=6&hide=html,css)
  • username: GitHub handle (required)
  • limit: Number of top languages (1 to 10, default 5)
  • hide: Comma-separated languages to exclude (e.g. html,css,jupyter notebook)
  • layout: Layout style (compact, donut, pie)
  • theme, style, width, height, scale, responsive, border_radius

7. Contribution Streak (/api/streak)

![GitHub Streak](https://your-domain.vercel.app/api/streak?username=YOUR_USERNAME&theme=synthwave&border_radius=20)
  • username: GitHub handle (required)
  • theme, style, animate, width, height, scale, responsive, border_radius

8. Pinned Repository Card (/api/pin)

![Pinned Repo](https://your-domain.vercel.app/api/pin?username=YOUR_USERNAME&repo=YOUR_REPO&theme=emerald)
  • username: GitHub handle (required)
  • repo: Repository name to feature (required)
  • theme, style, animate, width, height, scale, responsive, border_radius

9. Top Repositories List (/api/top-repos)

![Top Repos](https://your-domain.vercel.app/api/top-repos?username=YOUR_USERNAME&limit=5&sort=stars&theme=sunset)
  • username: GitHub handle (required)
  • limit: Number of repos to list (3 to 10, default 5)
  • sort: Metric sorting (stars or forks)
  • theme, animate, width, height, scale, responsive, border_radius

10. 52-Week Contributions Heatmap (/api/contributions)

![Contributions](https://your-domain.vercel.app/api/contributions?username=YOUR_USERNAME&theme=emerald)
  • username: GitHub handle (required)
  • theme, animate, width, height, scale, responsive, border_radius

11. Real GitHub Multi-Tier Achievements (/api/achievements)

![Achievements](https://your-domain.vercel.app/api/achievements?username=YOUR_USERNAME&cols=4&limit=8&theme=dracula)
  • username: GitHub handle (required)
  • limit: Max badges to display (4 for compact, 6, 8, 12, or 0 for all)
  • cols / per_line: Columns in the grid (3, 4, 5, default 4)
  • Automatically extracts real unlocked badges with stage tiers (e.g. Gold x4, Silver x3, Bronze x2, or Base Tier) and official high-res assets.
  • theme, style, width, height, scale, responsive, border_radius

12. Auto-Wrapping Tech Stack Badges (/api/tech-stack)

![Tech Stack](https://your-domain.vercel.app/api/tech-stack?i=react,next,tailwind,nodejs,postgres,docker,git,github,vscode,vercel&per_line=6&theme=catppuccin-mocha)
  • i / icons / skills: Comma-separated list of technology identifiers (e.g. react,next,ts,py,rust,docker,aws)
  • per_line / cols: Items per row for auto-wrapping (e.g. 4, 5, 6, 8, default auto-wrapping)
  • style: modern (Bento Cards with Icon + Label) or sleek (Compact Icon Chips)
  • theme, width, height, scale, responsive, border_radius

🎨 Global Color Customization Overrides

You can override any theme palette colors with direct HEX values (omit # or include url-encoded %23):

Parameter Description Example
bg_color Card background color or gradient &bg_color=0f172a
title_color Header title color &title_color=38bdf8
text_color Body and metrics text color &text_color=f8fafc
accent_color Icons and accent color &accent_color=818cf8
hide_border Remove outer card border stroke &hide_border=true
font_family Typography (Inter, Outfit, JetBrains Mono, Fira Code) &font_family=JetBrains+Mono
animate Floating micro-animation &animate=true

πŸ› οΈ Local development

npm install
cp .env.local.example .env.local
npm run dev

Then open:

http://localhost:3000

Required environment variables

GITHUB_TOKEN=your_github_token
WHITELIST=alrifatsabbir
  • GITHUB_TOKEN is used to query public GitHub data
  • WHITELIST can be used to restrict access to specific usernames

πŸš€ Deploy on Vercel

  1. Fork or push this repository to GitHub
  2. Import the project in Vercel
  3. Add environment variables:
    • GITHUB_TOKEN
    • WHITELIST (optional)
  4. Deploy the project

πŸ“ Project structure

app/
  api/          # Card generation endpoints
  page.js       # Studio builder UI
assets/
lib/            # Card and helper logic
public/         # Static files like favicon/logo
styles/

🀝 Contributing

Contributions are welcome. Please:

  • Keep the project easy to self-host
  • Preserve the card API compatibility
  • Use the whitelist flow when adding access-related changes

πŸ“ License

This project is distributed under the repository license. See LICENSE.md for details.

About

Dynamic SVG stat cards, developer rank rings, diurnal coding habits, 52-week activity calendars, categorized tech stack badges, and animated typing headers.

Topics

Resources

Stars

24 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages