Doodlebug

Docs

Every card is a plain URL that returns an SVG. Compose it in the builder or by hand using the params below.

Base URL

https://doodlebug.tarinagarwal.in/api/card/<type>?username=<github-login>&theme=<theme>&…
  • Boolean params accept true/false. Lists are comma separated.
  • Responses are cached for 30–60 minutes and served with cache headers that GitHub's image proxy respects.
  • If the username belongs to a Doodlebug account with a saved token, that token is used automatically — otherwise data comes from GitHub's public API and public contribution graph.
  • Errors are returned as an error card (still an image), so your README never shows a broken picture.

Stats

/api/card/stats

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

Stats example
![Stats](https://doodlebug.tarinagarwal.in/api/card/stats?username=tarinagarwal&theme=paper)
paramwhat it doesexample
hideComma list: stars, commits, prs, issues, contribs
showExtras: merged, reviews, followers, repos, forks
commitsall (default, all-time) or year
hide_rankHide the rank ring
show_iconsfalse to hide row icons
themeColour themechalkboard
bg / ink / accent / accent2 / mutedOverride any theme colour (hex, no #)accent=ff5da2
gridBackground decoration: none, dots, lines, grid
hide_borderRemove the sketched bordertrue
hide_titleRemove the title
titleCustom title text
doodlesfalse removes decorative sparkles/squiggles
animatefalse disables the fade-in
seedAny string — changes the wobble pattern

Top languages

/api/card/langs

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

Top languages example
![Top languages](https://doodlebug.tarinagarwal.in/api/card/langs?username=tarinagarwal&theme=notebook&layout=donut)
paramwhat it doesexample
layoutbars (default), donut, pie, compact
langs_count1–12 languages8
hideComma list of languages to skiphtml,css
themeColour themechalkboard
bg / ink / accent / accent2 / mutedOverride any theme colour (hex, no #)accent=ff5da2
gridBackground decoration: none, dots, lines, grid
hide_borderRemove the sketched bordertrue
hide_titleRemove the title
titleCustom title text
doodlesfalse removes decorative sparkles/squiggles
animatefalse disables the fade-in
seedAny string — changes the wobble pattern

Streak

/api/card/streak

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

Streak example
![Streak](https://doodlebug.tarinagarwal.in/api/card/streak?username=tarinagarwal&theme=forest)
paramwhat it doesexample
themeColour themechalkboard
bg / ink / accent / accent2 / mutedOverride any theme colour (hex, no #)accent=ff5da2
gridBackground decoration: none, dots, lines, grid
hide_borderRemove the sketched bordertrue
hide_titleRemove the title
titleCustom title text
doodlesfalse removes decorative sparkles/squiggles
animatefalse disables the fade-in
seedAny string — changes the wobble pattern

Contribution doodle

/api/card/activity

A wobbly heatmap of your recent contributions.

Contribution doodle example
![Contribution doodle](https://doodlebug.tarinagarwal.in/api/card/activity?username=tarinagarwal&theme=grid&weeks=26)
paramwhat it doesexample
weeks8–53 weeks to show40
legendfalse to hide the less/more legend
themeColour themechalkboard
bg / ink / accent / accent2 / mutedOverride any theme colour (hex, no #)accent=ff5da2
gridBackground decoration: none, dots, lines, grid
hide_borderRemove the sketched bordertrue
hide_titleRemove the title
titleCustom title text
doodlesfalse removes decorative sparkles/squiggles
animatefalse disables the fade-in
seedAny string — changes the wobble pattern

Activity graph

/api/card/graph

A hand-drawn line chart of daily contributions.

Activity graph example
![Activity graph](https://doodlebug.tarinagarwal.in/api/card/graph?username=tarinagarwal&theme=midnight&days=45)
paramwhat it doesexample
days7–120 days60
themeColour themechalkboard
bg / ink / accent / accent2 / mutedOverride any theme colour (hex, no #)accent=ff5da2
gridBackground decoration: none, dots, lines, grid
hide_borderRemove the sketched bordertrue
hide_titleRemove the title
titleCustom title text
doodlesfalse removes decorative sparkles/squiggles
animatefalse disables the fade-in
seedAny string — changes the wobble pattern

Trophies

/api/card/trophies

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

Trophies example
![Trophies](https://doodlebug.tarinagarwal.in/api/card/trophies?username=tarinagarwal&theme=chalkboard&columns=4)
paramwhat it doesexample
columns1–9 shields per row
hideComma list: stars, commits, prs, issues, followers, repos, streak
showExtras: reviews, forks
titleOptional title (no title by default)
themeColour themechalkboard
bg / ink / accent / accent2 / mutedOverride any theme colour (hex, no #)accent=ff5da2
gridBackground decoration: none, dots, lines, grid
hide_borderRemove the sketched bordertrue
hide_titleRemove the title
doodlesfalse removes decorative sparkles/squiggles
animatefalse disables the fade-in
seedAny string — changes the wobble pattern

Repo pin

/api/card/repo

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

Repo pin example
![Repo pin](https://doodlebug.tarinagarwal.in/api/card/repo?username=tarinagarwal&repo=Doodlebug&theme=sakura)
paramwhat it doesexample
repoRepository name (required)my-project
show_ownerPrefix owner/
themeColour themechalkboard
bg / ink / accent / accent2 / mutedOverride any theme colour (hex, no #)accent=ff5da2
gridBackground decoration: none, dots, lines, grid
hide_borderRemove the sketched bordertrue
doodlesfalse removes decorative sparkles/squiggles
animatefalse disables the fade-in
seedAny string — changes the wobble pattern

Skill stickers

/api/card/skills

Your stack as sketched stickers — no GitHub data required.

Skill stickers example
![Skill stickers](https://doodlebug.tarinagarwal.in/api/card/skills?skills=TypeScript,React,Node.js,Python,MongoDB,Docker&theme=kraft)
paramwhat it doesexample
skillsComma listTypeScript,React,Go
iconsname:icon pairsGo:bolt,React:code
columnsFixed columns (default: flow)
widthCard width
themeColour themechalkboard
bg / ink / accent / accent2 / mutedOverride any theme colour (hex, no #)accent=ff5da2
gridBackground decoration: none, dots, lines, grid
hide_borderRemove the sketched bordertrue
hide_titleRemove the title
titleCustom title text
doodlesfalse removes decorative sparkles/squiggles
animatefalse disables the fade-in
seedAny string — changes the wobble pattern

Sticky note

/api/card/note

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

Sticky note example
![Sticky note](https://doodlebug.tarinagarwal.in/api/card/note?text=Hi!%20I%20build%20things%20and%20occasionally%20break%20them.&author=tarinagarwal&theme=sticky)
paramwhat it doesexample
textNote text (required)
authorSignature line
sizeFont size 12–36
fonthand, title or kalam
widthCard width
themeColour themechalkboard
bg / ink / accent / accent2 / mutedOverride any theme colour (hex, no #)accent=ff5da2
gridBackground decoration: none, dots, lines, grid
hide_borderRemove the sketched bordertrue
doodlesfalse removes decorative sparkles/squiggles
animatefalse disables the fade-in
seedAny string — changes the wobble pattern

Project

/api/card/project

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

Project example
![Project](https://doodlebug.tarinagarwal.in/api/card/project?name=LGTM%20%E2%80%94%20Looks%20Good%20To%20Meow&desc=Live%20AI%20code%20review%20%2B%20CI%2FCD%20security%20SaaS%3A%206-lens%20review%20pipeline%2C%2036%20security%20detectors%2C%20SBOM%2C%20posture%20analytics%2C%20org%20RBAC%20and%20a%20CLI.&tags=Node.js,TypeScript,React,MongoDB,Redis,Fly.io&link=looksgoodtomeow.in&badge=%2336%20Product%20of%20the%20Day&icon=cat&theme=forest)
paramwhat it doesexample
nameProject title
descDescription (up to ~400 chars)
tagsComma list of tech tagsNode,TypeScript,MongoDB
linkURL shown in the footer
badgeSmall ribbon text%2336 Product of the Day
iconHeader icon namecat
username + repoAlso show language / stars / forks from that repo
widthCard width (default 440)
linesMax description lines (default 4)
themeColour themechalkboard
bg / ink / accent / accent2 / mutedOverride any theme colour (hex, no #)accent=ff5da2
gridBackground decoration: none, dots, lines, grid
hide_borderRemove the sketched bordertrue
doodlesfalse removes decorative sparkles/squiggles
animatefalse disables the fade-in
seedAny string — changes the wobble pattern

Achievements

/api/card/achievements

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

Achievements example
![Achievements](https://doodlebug.tarinagarwal.in/api/card/achievements?items=Winner:%20Gameathon%202K26%20(TECHNEX)%20%26%20Buildverse%202025;Runner-up:%20GameForge%2C%20CodeSprint%2C%20Hacksphere%202025;Top%20100:%20Hackhazards%202025%20(8000%2B%20participants);3rd%20place:%20Hackman%20V8%20DSCE&theme=paper)
paramwhat it doesexample
itemsSemicolon-separated list. Write each item as Label: detail — the medal colour follows the label (winner, runner-up, 3rd, top...)Winner: Buildverse 2025;Top 100: Hackhazards
widthCard width (default 495)
themeColour themechalkboard
bg / ink / accent / accent2 / mutedOverride any theme colour (hex, no #)accent=ff5da2
gridBackground decoration: none, dots, lines, grid
hide_borderRemove the sketched bordertrue
hide_titleRemove the title
titleCustom title text
doodlesfalse removes decorative sparkles/squiggles
animatefalse disables the fade-in
seedAny string — changes the wobble pattern

Themes

Use theme=<key>. Override individual colours with bg, ink, accent, accent2, muted (hex without #).

Paperpaper
Notebooknotebook
Graph papergrid
Sticky notesticky
Kraft paperkraft
Sakurasakura
Forestforest
Oceanocean
Candycandy
Chalkboardchalkboard
Blueprintblueprint
Midnightmidnight
Graphitegraphite
Draculadracula

Icons

Names usable in banner?icons= and skills?icons=Skill:icon:

externallinklinkedinxinstagramyoutubebriefcasedocphonediscordmediumdevnpmstarforkcommitprissueeyeheartfiretrophycalendarbookpeoplerocketcoderepoclockpinbugcoffeeboltbranchcheckfoldersparklegraphcatpencilmoonglobemailhashsmile

Self-hosting

Doodlebug is a Next.js app. Clone the repo, copy .env.example to .env.local, fill in MongoDB + SMTP, and deploy to Vercel. Set GITHUB_TOKEN to give public cards a higher rate limit.

Docs · Doodlebug