Manchmal sind es die kleinen Dinge, die einen unerwartet beschäftigen – so wie bei mir die GitHub-Readme-Stats. Ziel war einfach: meine eigenen Stats zuverlässig auf meinem GitHub Profil anzeigen, ohne ständig an Rate Limits zu stoßen. Ein kleiner Schritt, aber mit ein paar Lektionen unterwegs.
Das Problem
Die öffentliche Instanz von github-readme-stats stieß schnell an ihre Grenzen. Immer wieder am Rate Limit, meine Karten zeigten keine Daten mehr an – Commits, Top-Languages, Ranking, alles weg. Kurz gesagt: die Übersicht über meine eigene Arbeit fehlte. Ich wollte einfach nur wieder eine funktionierende Anzeige – und zugleich etwas mehr Kontrolle.
Die Lösung: Vercel Self-Hosting
Die Antwort war simpel: selbst hosten. Ich habe das Repository github-readme-stats-fast geforkt und auf Vercel deployt. Vorteil: unkompliziert, schnell, kostenlos – und jederzeit anpassbar.
Zuerst der Personal Access Token (PAT). Read-only, ausschließlich für mein Profil. Die Account Permissions waren zunächst etwas versteckt, aber nach einigem Suchen hatte ich die richtige Konfiguration gefunden – manchmal sind es eben die kleinen Details. ? Mit der Environment Variable PAT_1 war alles bereit, Deploy gestartet, und die Stats liefen wieder.
Ein weiterer Stolperstein war die URL für Top-Languages. Mehrere Sprachen in hide mit Kommas – die URL brach ab. Ein kurzes Encoden und alles funktionierte wie gewünscht.
# führt zum Abriss der URL
&hide=html,css
# richtig encoded wird die volle URL übernommen
&hide=html%20css
Das Ergebnis
Nach einigen Anpassungen hatte ich wieder zuverlässige Stats. Keine Rankings, nur die Informationen, die ich zeigen wollte – Achievement Unlocked ?
Ein feines Detail: <picture> + prefers-color-scheme für den Dark Mode. Die Karten passen sich automatisch an das Theme von GitHub an. Abends am Rechner wirkt alles harmonisch, die Farben treten dezent hervor und es sieht insgesamt professionell aus. ?
<picture>
<source
srcset="https://github-readme-stats-fast-mu.vercel.app/api?username=steffengrahl&hide_rank=true&theme=transparent&show_icons=true&hide=stars&hide_border=true&icon_color=E67E22&title_color=E67E22&text_color=e5e5e5&card_width=320"
media="(prefers-color-scheme: dark)"
/>
<source
srcset="https://github-readme-stats-fast-mu.vercel.app/api?username=steffengrahl&hide_rank=true&theme=transparent&show_icons=true&hide=stars&hide_border=true&icon_color=E67E22&title_color=E67E22&text_color=222222&card_width=320"
media="(prefers-color-scheme: light), (prefers-color-scheme: no-preference)"
/>
<img src="https://github-readme-stats-fast-mu.vercel.app/api?username=steffengrahl&hide_rank=true&show_icons=true&hide=stars&hide_border=true&icon_color=E67E22&title_color=E67E22&text_color=222222&card_width=320" />
</picture>
Wer neugierig ist, wie das im Kontext meiner Projekte aussieht: Auf steffengrahl.de habe ich die 2026er Farbpaletteumgesetzt – optimal abgestimmt auf meine Stats-Karten und den Rest meiner Arbeit.
Learnings & Tipps
- PAT read-only genügt völlig für Readme Stats.
- Vercel ist unkompliziert, stabil und schnell für kleine Deployments.
- URL-Parameter prüfen – besonders bei Kommaslisten in
hide. <picture>+ Dark Mode ist ein schönes Detail, aber optional.
Am Ende war der Aufwand überschaubar, die kleinen Stolpersteine und Lösungen haben das Projekt interessant gemacht. Ich habe nun wieder volle Kontrolle über meine Stats – ein kleines, aber befriedigendes Erfolgserlebnis, das zeigt, dass sich selbst einfache Projekte lohnen, wenn man sie sauber umsetzt. ?