Doodlebug

✎ free · no token required · 13 cards · 14 themes

Your GitHub stats,
but doodled.

Doodlebug turns your GitHub activity into hand-drawn stats cards, streak flames, language bars, trophies and banners — ready to paste into your README.

Works with public data out of the box. Add your own token later for private-contribution counts and zero rate limits.

Example hand-drawn stats card
Example hand-drawn streak card

Thirteen card types. One wobbly pen.

Every card is an SVG generated on the fly with sketchy rough.js strokes and embedded handwriting fonts, so it renders anywhere — including GitHub READMEs.

Top languages
Top languages
Trophies
Trophies
Contribution doodle
Contribution doodle
Activity graph
Activity graph
Repo pin
Repo pin
Skill stickers
Skill stickers
Project
Project
Achievements
Achievements
Example banner

How it works

No OAuth dance, no build step, no config files in your repo. Just a URL that draws itself.

Doodle of a laptop with charts, a rocket, a trophy and a coffee mug
1

Sign up (30 seconds)

Email + password, verify your inbox, done. Your account is where you save your GitHub username and, optionally, a token.

2

Pick a card, tweak the look

Choose a card type, theme and options in the builder. The preview updates live — it's the same SVG GitHub will render.

3

Copy the markdown

Paste the snippet into your profile README. Cards refresh themselves every ~30 minutes with fresh data.

Themes for every notebook

Or override any colour with hex params. Dark themes look great on dark GitHub.

Paper
Notebook
Graph paper
Sticky note
Kraft paper
Sakura
Forest
Ocean
Candy
Chalkboard
Blueprint
Midnight
Graphite
Dracula

Everything you'd expect, drawn by hand

Stats

stats

Stars, commits, PRs, issues and a hand-drawn rank ring.

Top languages

langs

Your most used languages as sketched bars, a donut, a pie or a compact strip.

Streak

streak

Total contributions, current streak in a flame ring, and longest streak.

Contribution doodle

activity

A wobbly heatmap of your recent contributions.

Activity graph

graph

A hand-drawn line chart of daily contributions.

Trophies

trophies

Sketched shields ranked C → SS for stars, commits, PRs, streaks…

Repo pin

repo

Pin any repository: description, language, stars, forks, topics.

Banner

banner

A wide hand-drawn header for the top of your README.

Skill stickers

skills

Your stack as sketched stickers — no GitHub data required.

Sticky note

note

A taped note with handwritten text. Great for a hello or a quote.

Project

project

Your own title, description, tags and link — optionally merged with live repo stats.

Achievements

achievements

Hackathon wins, awards, certifications — as numbered hand-drawn medals.

Link sticker

link

A hand-drawn button for portfolio, LinkedIn, email... wrap it in a link in your README.

Bring your own token

Optional. Stored AES-256-GCM encrypted, only ever decrypted in memory to fetch your data. Unlocks private-contribution counts and dodges GitHub's public rate limits.

Cached & cheap

Data is cached for 30–60 minutes and served with proper cache headers, so your README loads instantly and GitHub is not hammered.

Open source

Read the code, self-host it, or send a PR. github.com/tarinagarwal/Doodlebug

Questions people doodle in the margins

Do I need a GitHub token?

No. Public data works for everyone. Without a token, Doodlebug uses GitHub's public API and the public contribution graph, which has shared rate limits — heavy traffic can occasionally show a 'rate limited' card. Adding a token in Settings fixes that permanently and adds private-contribution counts.

Why do I have to log in to use the site?

Your account stores your GitHub username, your (encrypted) token and your preferences, and lets Doodlebug prefer your token whenever anyone loads a card for your username. Card image URLs themselves are public so they render in READMEs.

Which token scopes do I need?

A fine-grained token with no extra permissions (public data) works. For private contribution counts, grant read access to your repositories, or use a classic token with the repo and read:user scopes.

How fresh is the data?

Cards refresh every 30 minutes (60 for public fetching) and are served with cache headers GitHub respects. Change a param — like &seed=2 — to force a new image.

Can I customise colours?

Yes: pick a theme, then override any of bg, ink, accent, accent2 or muted with a hex value, e.g. &accent=ff5da2.

Is it really hand-drawn?

Every stroke is generated with rough.js and a per-user seed, so your card is unique. Fonts are real handwriting fonts embedded into the SVG.

Ready to doodle?

Takes less time than choosing a README emoji.

Doodlebug — hand-drawn GitHub stats cards