<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: rowan kavanagh</title>
    <description>The latest articles on DEV Community by rowan kavanagh (@rowkav09).</description>
    <link>https://dev.to/rowkav09</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4027793%2F3a68456f-3268-4fd4-8c84-1a71f676063f.png</url>
      <title>DEV Community: rowan kavanagh</title>
      <link>https://dev.to/rowkav09</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/rowkav09"/>
    <language>en</language>
    <item>
      <title>I built a token-free alternative to github-readme-stats (with mini badges &amp; sparklines)</title>
      <dc:creator>rowan kavanagh</dc:creator>
      <pubDate>Mon, 13 Jul 2026 20:27:58 +0000</pubDate>
      <link>https://dev.to/rowkav09/i-built-a-token-free-alternative-to-github-readme-stats-with-mini-badges-sparklines-3l26</link>
      <guid>https://dev.to/rowkav09/i-built-a-token-free-alternative-to-github-readme-stats-with-mini-badges-sparklines-3l26</guid>
      <description>&lt;h2&gt;
  
  
  The problem
&lt;/h2&gt;

&lt;p&gt;Adding stats to your GitHub profile README sounds like a two-minute job, and then it isn't. The usual snags:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;You need to generate a &lt;strong&gt;personal access token&lt;/strong&gt; and wire it up.&lt;/li&gt;
&lt;li&gt;The popular hosted instances get &lt;strong&gt;rate-limited&lt;/strong&gt;, so the advice becomes "just deploy your own" — now you're maintaining a fork on Vercel.&lt;/li&gt;
&lt;li&gt;Your card shows &lt;strong&gt;stale numbers&lt;/strong&gt; for hours because of aggressive caching.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;I wanted something where you paste one line and it just works — no token on your side, no deployment, no config. So I built &lt;strong&gt;&lt;a href="https://ghstats.dev" rel="noopener noreferrer"&gt;GitHub Profile Stats&lt;/a&gt;&lt;/strong&gt; (open source, MIT).&lt;/p&gt;

&lt;h2&gt;
  
  
  What it does
&lt;/h2&gt;

&lt;p&gt;It's the familiar stat card — but with a few things the original ecosystem makes you assemble from separate projects:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Stat cards&lt;/strong&gt; with 13 metrics and 12 themes:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight markdown"&gt;&lt;code&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="nv"&gt;![&lt;/span&gt;&lt;span class="p"&gt;](&lt;/span&gt;&lt;span class="sx"&gt;https://ghstats.dev/api/card?username=YOUR_USERNAME&amp;amp;theme=tokyonight&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;](https://ghstats.dev)
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Language breakdown&lt;/strong&gt;, bar or stacked:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight markdown"&gt;&lt;code&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="nv"&gt;![&lt;/span&gt;&lt;span class="p"&gt;](&lt;/span&gt;&lt;span class="sx"&gt;https://ghstats.dev/api/langs?username=YOUR_USERNAME&amp;amp;theme=dracula&amp;amp;layout=bar&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;](https://ghstats.dev)
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Mini badges&lt;/strong&gt; — drop a single stat anywhere (stars, streak, PRs, followers, weekly commits, and more):&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight markdown"&gt;&lt;code&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="nv"&gt;![&lt;/span&gt;&lt;span class="p"&gt;](&lt;/span&gt;&lt;span class="sx"&gt;https://ghstats.dev/api/mini?username=YOUR_USERNAME&amp;amp;metric=streak&amp;amp;color=f97316&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;](https://ghstats.dev)
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Activity sparkline&lt;/strong&gt; — your last 7–90 days as a tiny inline chart:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight markdown"&gt;&lt;code&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="nv"&gt;![&lt;/span&gt;&lt;span class="p"&gt;](&lt;/span&gt;&lt;span class="sx"&gt;https://ghstats.dev/api/sparkline?username=YOUR_USERNAME&amp;amp;days=30&amp;amp;width=420&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;](https://ghstats.dev)
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  No token, really?
&lt;/h2&gt;

&lt;p&gt;Right — &lt;em&gt;you&lt;/em&gt; don't need one. You point a card at your username and embed it. (Under the hood the service holds the GitHub API token; you never touch it.) That removes the single most annoying step for most people.&lt;/p&gt;

&lt;h2&gt;
  
  
  A builder instead of URL guesswork
&lt;/h2&gt;

&lt;p&gt;Hand-editing &lt;code&gt;&amp;amp;hide=issues&amp;amp;show_icons=true&amp;amp;border_radius=...&lt;/code&gt; is nobody's idea of fun. There's a &lt;a href="https://ghstats.dev/builder" rel="noopener noreferrer"&gt;live builder&lt;/a&gt;: toggle which stats show, pick a theme, tweak borders/titles, and copy the finished Markdown or HTML.&lt;/p&gt;

&lt;h2&gt;
  
  
  Being fair about github-readme-stats
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://github.com/anuraghazra/github-readme-stats" rel="noopener noreferrer"&gt;github-readme-stats&lt;/a&gt; is a brilliant project — 65k+ stars for good reason, and if you've already got it set up and happy, there's no reason to switch. This isn't a "X is dead" post. I built mine to scratch a specific itch: zero token setup, plus mini badges and sparklines in one place. If that combination is what you're after, give it a try.&lt;/p&gt;

&lt;h2&gt;
  
  
  Try it
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Site + builder: &lt;strong&gt;&lt;a href="https://ghstats.dev" rel="noopener noreferrer"&gt;https://ghstats.dev&lt;/a&gt;&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;Source (MIT), stars very welcome: &lt;strong&gt;&lt;a href="https://github.com/rowkav09/GitHub-profile-stats" rel="noopener noreferrer"&gt;https://github.com/rowkav09/GitHub-profile-stats&lt;/a&gt;&lt;/strong&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Over to you
&lt;/h2&gt;

&lt;p&gt;Two quick things I'd genuinely love in the comments:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Drop a link to your profile README&lt;/strong&gt; if you add a card — I want to see what you build.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;What stat or card type is still missing&lt;/strong&gt; from the whole GitHub-stats ecosystem? If it's a good idea, I'll build it.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;And if this saved you a token-setup headache, a ⭐ on the &lt;a href="https://github.com/rowkav09/GitHub-profile-stats" rel="noopener noreferrer"&gt;repo&lt;/a&gt; genuinely helps it reach more people.&lt;/p&gt;

</description>
      <category>github</category>
      <category>webdev</category>
      <category>opensource</category>
      <category>showdev</category>
    </item>
  </channel>
</rss>
