pphatdev/github-stats
:octocat: Generate dynamic, futuristic SVG cards displaying GitHub user statistics for your README files!
Fast GitHub Stats Graph 🚀
Create beautiful GitHub stats cards, badges, icons, and contribution graphs that are easy to customize and perfect for your profile README or project docs.
🌟 Examples Icons Usage
✨ Icon Collections
Render multiple icons into one SVG image using the name query parameter.
for more detail checkout Here
Icons Sizes [small | medium | large]

Preview Example
Columns [1 | 2 | 3 | 4 | 5 | 6|...] maximum 50
Customize with 3 columns

Preview Example
Color Mapping
Mapped colors (index by index):

Example Demo
Partial colors (remaining icons use fallback colors):

Example Demo
Effects [glow | wave]

Example Demo
Wave:
Glow:
Combined Example
Size + colors + wave + columns:
👍 Icon by names
Normal Icon
for more detail checkout Here


Example Demo
Effect icon


Example Demo
📊 Stats Card Examples
for more detail checkout Here
Default

Theme + Avatar Mode

Minimal Card

Combined Example

💻 Languages Card Examples
for more detail checkout Here
Default

Card and Pie


Theme + Info Style

📈 Contribution Graph Examples
for more detail checkout Here
Default

Animated Variants


🏷️ Badge Examples
for more detail checkout Here
Popular Badge Types




Theme + Custom Label

Color and Layout Controls


📁 Project Badge Examples
for more detail checkout Here
Popular Project Badge Types




Theme + Custom Label

Visitors Rule (Same IP)
Project visitors increment once per same IP every 5 minutes.

Development
Development setup was moved to: docs/how-to/DEVELOPMENT.md
Route-by-route demos with option examples: docs/example/README.md
Architecture
- API: GitHub REST + GraphQL APIs with intelligent batching
- Caching: Multi-tier (Memory → Redis → Source) with 2-hour default TTL
- Database: SQLite with Drizzle ORM for badge counters and visitor logs
- Server: Express.js with optional cluster mode for multi-core scaling
- Rendering: Server-side SVG generation with optional WebP/PNG/GIF export
Notes
- Responses are cached for 2 hours (configurable via
CACHE_DURATION) - Without a GitHub token, API rate limits are very low (~60 requests/hour)
- Set
GITHUB_TOKENto get 5,000 requests/hour - Redis is optional but recommended for production (enables distributed caching)
- User visitor badges (
/badge/visitors) use IP hashing for privacy-preserving unique visitor counting - Project visitor badges (
/project/visitors) increment once per same IP every 5 minutes
License
MIT. See LICENSE.