v3.2.1 · part of the EMU line

your GitHub
workshop, rendered.

A dynamically-generated SVG card for your README — ten visual styles, real-time stats, zero setup. Drop a URL, get a card.

// LIVE

commits5,405
stars3,640
hours10810h
streak9d
gradeA+
~/vanzan01/workshop · git-hours --year=2026
● LIVE
USER@GITHUB ::
vanzan01
ACTIVE · STREAK 11d
$ ./scan --year 2026 3,596 commits parsed in 1034.6h
┌─ METRICS ──────────────
STARS_TOTAL3,642
COMMITS_20263,596
PULL_REQUESTS239
ISSUES_OPENED228
HOURS_LOGGED1034.6h
WEEK_COMMITS60
AVG_PER_DAY28.3
PEAK_DAYSATURDAY
REPOS_PUBLIC82
FOLLOWERS135
GRADE
A+
TOP 3% GLOBALLY
WEEK TREND
↑ +-14% vs. last
$git log --author=vanzan01 --since=2026

// EMBED

![card](https://emustats.dev/api/workshop?u=you&style=v1)
cached · 60s TTL
[ FEATURES ]

Everything you need.
Nothing you don't.

One URL renders a fully-styled SVG of your GitHub activity. Cached at the edge, themed your way.

One URL, one image

Add a single Markdown image tag to your README. No client JS, no build step, no Actions cron.

10 hand-tuned styles

Neon Terminal, Synthwave, F1 Telemetry, Holo Shard… switch with a query parameter.

Live data, edge cached

Pulls real GitHub stats and caches them at the CDN. Fast for visitors, gentle on the API.

Pure SVG output

Crisp on any display. Renders inline in markdown viewers. No raster, no blur, no fuss.

Self-host friendly

One Bun command and a PAT. Deploy to Vercel, Fly, your own VPS — wherever.

+

Bring your own style

One file, one function, one registry line. Full design canvas at 620×560 — go wild.

10
Built-in styles
620×560
Standard canvas
<200ms
Cached response
MIT
Open source
[ STYLES ]

Ten ways to flex.

Each style is hand-built for the same canvas size. Switch between them with one query parameter. Click any card to load it into the hero.

V1
~/vanzan01/workshop · git-hours --year=2026
● LIVE
USER@GITHUB ::
vanzan01
ACTIVE · STREAK 11d
$ ./scan --year 2026 3,596 commits parsed in 1034.6h
┌─ METRICS ──────────────
STARS_TOTAL3,642
COMMITS_20263,596
PULL_REQUESTS239
ISSUES_OPENED228
HOURS_LOGGED1034.6h
WEEK_COMMITS60
AVG_PER_DAY28.3
PEAK_DAYSATURDAY
REPOS_PUBLIC82
FOLLOWERS135
GRADE
A+
TOP 3% GLOBALLY
WEEK TREND
↑ +-14% vs. last
$git log --author=vanzan01 --since=2026

Neon Terminal

Hacker terminal, green-cyan glow, scanlines.

?style=v1
V1B
VT-220 // GIT-HOURS BOOT v3.2.1
[ OK ] mounting workshop volume… READY
[ OK ] auth user=vanzan01 token=***** fy=2026
OPERATOR
VANZAN01
STREAK 11d · GRADE A+ · TOP 3%// 3,596 commits parsed
┌─ METRICS ──────────────────────────────────
STARS_TOTAL
3,642
COMMITS_2026
3,596
HOURS_LOGGED
1034.6h
PULL_REQUESTS
239
ISSUES_OPENED
228
WEEK_COMMITS
60
AVG_PER_DAY
28.3
REPOS_PUBLIC
82
PEAK_DAYSATURDAY
WEEK_TREND↑ +-14%
$./git-hours --user vanzan01 --since 2026-01-01 --tail

Amber CRT

Vintage VT220 phosphor with ASCII bar charts.

?style=v1b
V1C
241>C*1
8CC*A<<1=<<3=8
9A2+*0+<\1>0*9*8
==A0+8
\:\2>80
27/+9:9:+/
C/9/\:+0\8C
C3974:
<2<9CA9:/0
1=12>88\4
/0A3><*0A\73
42\+4714094\1829
+/\*2+1
:C:22=31>C
2>9A1=A21:0=C
8*<>+\\1127C+3=+
9/*30/+
=2=C>C8/39
\++<\C=>=
40/=>>7:AC7+/
C7+271>22=3*4*
*9:=
</9>>997C<
123*3*/
4444\<2=<<+\/00
44C=*C74
+A02842082
:*8A=4A>A
NODE_42 · CONNECTION ESTABLISHED
FY2026 · BUILD 3.2.1
WAKE THE MACHINE.
VANZAN01
// METRICS
STARS3,642
COMMITS3,596
HOURS1035h
PULL_REQ239
ISSUES228
REPOS82
FOLLOWERS135
SYSTEM GRADE
A+
TOP 3% · STREAK 11d
// 7-DAY OUTPUT
WK_COM 60↑ +-14%
root@vanzan01:~#follow_the_white_rabbit

Matrix

Code-rain background, split operator pane.

?style=v1c
V2
WORKSHOP TELEMETRY · 2026
VANZAN01
SESSION
0x6254
Stars Earned
3,642
Pull Requests
239
Issues Opened
228
Public Repos
82
GRADE
A+
TOP 3%
Commits 2026
3,596
Hours Logged
1035h
Avg / Day
28.3
Streak
11d
THIS WEEK
60 ↑ +-14%
PEAK
SATURDAY

Glass HUD

Frosted glass, cyan/magenta neon gauge.

?style=v2
V3
★ WORKSHOP STATS · 2026
VANZAN01
COMMITS
3,596
STARS
3,642
HOURS
1,034.6h
GRADE
A+
PRs239
Issues228
Streak11d
Avg/day28.3
Repos82
Peak daySaturday
WEEK ↑ +-14%
TOP 3%

Synthwave

80s outrun, perspective grid, chrome title.

?style=v3
V4
GIT-HOURS · MAINFRAME · ID-3596
OPERATOR
VANZAN01
FY · 2026
SYNCED 03:42:18
TOTAL COMMITS
3,596
parsed across 81 repos
HOURS LOGGED
1035h
avg 28.3/day
STARS
3,642
PRs
239
ISSUES
228
STREAK
11d
CONTRIBUTION_MATRIX · 53w
↑ +-14% PEAK: SATURDAY
JANMARMAYJULSEPNOV
◤ TOP 3% · GRADE A+
v3.2.1 · 82 REPOS · 135 FOLLOWERS

Mainframe

Sci-fi data terminal with heatmap.

?style=v4
V5
★ GIT-HOURS // ID-2026
vanzan01
CERTIFIED · TOP 3% · GRADE A+
A+
GRADE
HOURS IN THE WORKSHOP
1,034.6
COMMITS
3,596
STARS
3,642
PRs
239
STREAK
11d
ISSUED · 2026-12-31
↑ +-14%82 REPOSSIG·6254

Holo Shard

Iridescent ID card, asymmetric, vibe over numbers.

?style=v5
V6
P1
DRIVER
VANZAN01
SEASON 2026
A+ · TOP 3%
SEASON COMMITS
3,596
HOURS LOGGED
1,034.6h
Q1
1,280
PURPLE
Q2
1,402
GREEN
Q3
1,180
GREEN
Q4
1,543
PURPLE
WEEKLY OUTPUT · RPM
MONTUEWEDTHUFRISATSUN
STARS3,642
PRs239
ISSUES228
STREAK11d
AVG/DAY28.3
WEEK60
PEAKSAT
TREND+-14%
● LIVE TELEMETRY82 REPOS · 135 FOLLOWERSgit-hours v3.2.1

Telemetry

F1 timing screen, RPM bars, S1/S2/S3 sectors.

?style=v6
V6B
P1
DRIVER
VANZAN01
SEASON 2026
A+ · TOP 3%
SEASON COMMITS
3,596
↑ +-14% · WK 60
HOURS
1,034.6h
28.3/day
FASTEST LAP
SAT
60 commits/wk
Q1
1,280
GREEN
Q2
1,402
GREEN
Q3
1,180
GREEN
Q4
1,543
PURPLE
WEEKLY TYRE WEARSTREAK 11d
MONTUEWEDTHUFRISATSUN
STARS3,642
PRs239
ISSUES228
REPOS82
● PIT WALL · LIVE135 FOLLOWERS · 19 CONTRIBSgit-hours v3.2.1

Ice Telemetry

Cyan + amber pit-wall variant.

?style=v6b
V6C
CIRCUIT · GIT-HOURS GP
VANZAN01
SEASON 2026
A+ · TOP 3%
S11.28kS21.40kS31.18kS41.54k
S/F · POLE · LAP 3,596/3,596
HOURS
1,034.6h
STARS
3,642
PRs
239
ISSUES
228
STREAK
11d
WK
60 ↑-14%
FASTEST LAP
SATURDAY
◆ POLE POSITION82 REPOS · 135 FOLLOWERS · 3,596 LAPSgit-hours v3.2.1

Track Map

Stylized circuit + side telemetry rail.

?style=v6c
[ HOW IT WORKS ]

Three steps. Done.

1

Pick a style

Browse the gallery above. Each style has a short ID — v1, v2, v6c

?style=v1
2

Build your URL

Pass your GitHub username. Optionally set a timezone for accurate "hours" math.

?username=you&tz=Australia/Perth
3

Drop in your README

Paste the Markdown. The card renders fresh on every page view — cached for 60 seconds.

![emustats](https://…)
[ API ]

A single endpoint.

Return type: image/svg+xml. Everything is a query parameter.

GET /api/workshop
# Default — Neon Terminal style
GET https://emustats.dev/api/workshop
  ?username=YOUR_USERNAME
  &style=v1
  &tz=Australia/Perth
  &cache_seconds=60
QUERY PARAMS
username       required · GitHub handle
style          v1 (default) … v6c
tz             IANA tz · default UTC
cache_seconds  CDN TTL override
SELF-HOST
# clone, install, set PAT
$ bun install
$ echo "PAT_1=ghp_…" > .env
$ node express.js
# → localhost:9000
[ GRAB YOURS ]

Ready to ship?

Type your handle. We'll generate the Markdown — copy and paste into your README.

README.md
![emustats](https://emustats.dev/api/workshop?username=vanzan01&style=v1)
~/vanzan01/workshop · git-hours --year=2026
● LIVE
USER@GITHUB ::
vanzan01
ACTIVE · STREAK 11d
$ ./scan --year 2026 3,596 commits parsed in 1034.6h
┌─ METRICS ──────────────
STARS_TOTAL3,642
COMMITS_20263,596
PULL_REQUESTS239
ISSUES_OPENED228
HOURS_LOGGED1034.6h
WEEK_COMMITS60
AVG_PER_DAY28.3
PEAK_DAYSATURDAY
REPOS_PUBLIC82
FOLLOWERS135
GRADE
A+
TOP 3% GLOBALLY
WEEK TREND
↑ +-14% vs. last
$git log --author=vanzan01 --since=2026
[ FAQ ]

Questions, answered.

How fresh is the data? +

Every request hits GitHub's GraphQL API and is cached at the edge for 60 seconds (configurable). Visitors hitting your README see a recently-warm card without you running a cron job.

Is private contribution data included? +

If you self-host with a PAT scoped repo + read:user, yes. The hosted version reads public stats only.

Can I add my own style? +

Drop a file in src/cards/styles/ exporting a function that returns SVG, register it in the index, ship a PR. Standard canvas is 620×560.

Why "emu"? +

It's our line of small, fast, single-purpose dev tools. emustats is the GitHub-card one — others are coming for changelogs, status pages, and uptime badges.

Will it work on dark and light READMEs? +

Each style has its own background, so cards always look intentional regardless of the host page. SVG renders pixel-perfect on any display.

[ /USR/BIN/EMU ]

Make your README
actually look good.

Free to use, MIT-licensed, ten styles ready to drop in. Built for developers who care about the small stuff.

Get your card