Turn your GitHub contribution graph into a phone wallpaper.
- Generates retina-quality wallpapers from your GitHub contributions
- 11 themes — Classic, Light, Dracula, Nord, Ocean, Sunset, Mono, Catppuccin, Gruvbox, Rosé Pine, Synthwave
- Box or circular cell shapes
- iPhone support: iPhone 14 through 17 Pro Max (and iPhone Air)
- Android support: 70+ devices across Samsung, Google Pixel, OnePlus, Xiaomi, Nothing, Motorola, Sony, ASUS, OPPO, vivo, Realme, and Honor
- Shows contribution stats: total count and current streak
- iOS Shortcut-compatible URL for daily auto-updating wallpapers (iPhone)
- MacroDroid-compatible URL for daily auto-updating wallpapers (Android)
- In-memory caching with 5-minute TTL
git clone https://github.com/govindup63/GitWall.git
cd GitWall
npm installCreate a .env file in the project root:
GITHUB_TOKEN=your_github_personal_access_token
A token with the read:user scope works. Create one here. Next.js loads .env automatically.
For development:
npm run devFor production:
npm run build
npm startOpen http://localhost:3000, enter a GitHub username, pick your platform (iPhone or Android), choose a theme and device, and download your wallpaper.
| Endpoint | Description |
|---|---|
GET /api/wallpaper?user=<username> |
Full-resolution wallpaper PNG (iPhone) |
GET /api/wallpaper?user=<username>&width=1440&height=3120 |
Full-resolution wallpaper PNG (Android) |
GET /api/preview?user=<username> |
Low-res preview PNG |
GET /api/themes |
List available themes |
GET /api/devices |
List supported iPhone devices |
GET /api/health |
Server health check |
Wallpaper query params: user (required), theme, device (iPhone), width + height (Android), stats (true/false), shape (box/circle)
The API returns proper status codes: 400 for a missing or malformed username, 404 for a user that does not exist, 429 when GitHub rate-limits the request, and 500 for server-side issues.
iPhone (iOS Shortcuts)
- Generate your wallpaper and copy the Shortcut URL
- Open iOS Shortcuts → New Shortcut
- Add Get Contents of URL with the copied URL
- Add Set Wallpaper using the result
- Automate it: Automation → Time of Day → run daily
Android (MacroDroid)
- Generate your wallpaper, select your phone model, and copy the MacroDroid URL
- Install MacroDroid from Google Play
- Add Macro → Trigger: Date/Time → Daily at 00:01
- Action 1: HTTP Request (GET) → save response to
/Download/gitwall.png - Action 2: Device Settings → Set Wallpaper →
/Download/gitwall.png - Name the macro and tap Create Macro
Use the exact same filename in both actions.
- Next.js (App Router) — HTTP server and frontend
- node-canvas — Server-side PNG rendering
- GitHub GraphQL API — Contribution data
ISC