Skip to content
HemashreeVIPublic

About

💓 Check your GitHub's pulse. 4 free tools: 📈 star history videos, 🪪 an auto-updating README dev card, 🔥 a brutally honest repo roast, and 👀 an unfollower tracker with weekly email reports. No login, runs in your browser plus a GitHub Action.

Topics

Resources

Stars

2 stars

Watchers

0 watching

Forks

Repository files navigation

GitPulse 💓

Check your GitHub’s pulse. Four free tools in one site: turn your stars into a video, put a live card on your profile, get your repo roasted, and find out who unfollowed you.

Live: https://hemashreevi.github.io/gitpulse/

GitPulse home

No login and no backend: everything runs in your browser on GitHub’s public API. The Dev Card and weekly follower report run as a free GitHub Action in your repo.

Screenshots use sample data.


📈 Star Chart: your star history as a video

Enter any repo, or race up to 3 repos, and watch the stars grow with milestones (🎉 1k stars · Mar 2024). Download it as a video in 16:9 (YouTube), 9:16 (Shorts/Reels) or 1:1 (LinkedIn), or as a PNG.

Star Chart

Small repos use every star’s exact date. For large repos the curve is estimated from 12 evenly spaced samples, the same trick star-history.com uses.

Share link: …/gitpulse/#/stars/owner/repo/owner2/repo2

🪪 Dev Card: auto-updating card for your profile README

Shows stars, followers, contributions, current and best streak, top languages, and your developer personality (🦉 Night Owl, 🏃 Marathoner, 🌍 Polyglot…). It comes in 5 themes.

Dev Card

Add it to your profile in two minutes: open the Dev Card page and press “Add workflow on GitHub”. That opens GitHub with the workflow already filled in. You can also add it by hand to .github/workflows/gitpulse.yml in your username/username repo:

name: GitPulse
on:
  schedule:
    - cron: "17 5 * * *"   # Dev Card: every day
    - cron: "23 6 * * 1"   # Follower report: every Monday
  workflow_dispatch:

permissions:
  contents: write
  issues: write

jobs:
  gitpulse:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - uses: HemashreeVI/gitpulse@v1
        with:
          mode: ${{ (github.event.schedule == '23 6 * * 1' || github.event_name == 'workflow_dispatch') && 'both' || 'card' }}
          theme: midnight

Then put this in your README:

![My GitPulse card](./gitpulse-card.svg)

🔥 Repo Roast: a brutally honest review

Paste any public repo. GitPulse reads the README, the file tree, recent commit messages and the metadata, then roasts it in mild or extra spicy mode. Every roast comes with a real fix. You get a score out of 100, a grade from S to F, and a share image.

Repo Roast

It catches things like a missing or template README, no screenshots or install steps, a committed .env or node_modules, “fix / update / asdf” commit messages, no license, no tests or CI, no live demo, files named final_v2 (copy).js, and repos untouched for years.

👀 Follower Watch: who unfollowed you?

  • Don’t follow you back: people you follow who don’t follow you.
  • Fans: people who follow you that you don’t follow back.
  • Mutuals.
  • Since last check: exactly who followed and who unfollowed since your last visit. The snapshot is saved in your browser.

Follower Watch

For a weekly email, turn on the follower report in the Action above. Every Monday it compares your followers with last week’s snapshot, which it keeps in .gitpulse/followers.json. Then it opens an issue in your repo listing new followers and unfollows, and GitHub emails it to you.


The Action

Input Default
mode card card, followers or both
username repo owner whose card or followers
theme midnight midnight, light, neon, sunset, forest
card-path gitpulse-card.svg where the card is written
animate true fade-in animation on the card
snapshot-path .gitpulse/followers.json follower snapshot
issue true open an issue with the follower report
report-unchanged false open a report even when nothing changed
commit true commit the updated files

The card’s avatar is embedded in the SVG, because README images can’t load external images inside an SVG. Contributions and streaks come from GitHub’s GraphQL API, using the workflow’s own token.

Rate limits

Without a token, GitHub allows 60 requests an hour per network. If you hit the limit, click ⚙️ and paste a token with no scopes, which raises it to 5,000. The token stays in your tab and is only sent to GitHub.

Tech

React 19 + Vite · Canvas + MediaRecorder for the videos · html-to-image for share images · pure-JS SVG for the card · GitHub Pages + a dependency-free composite Action.

All the logic lives in pure, unit-tested modules that the website and the Action share:

src/lib/stars.js       star history sampling, milestones, growth
src/lib/roast.js       roast rules, score, grade
src/lib/card.js        Dev Card SVG renderer (5 themes)
src/lib/cardData.js    card data gathering (I/O injected → browser or Action)
src/lib/followers.js   follower diffs, relationships, weekly report
src/lib/starCanvas.js  star-race animation frames
action/index.mjs       the GitHub Action
npm install
npm run dev
npm test      # 18 tests: stats, roast, card, followers and the Action (mocked GitHub)
npm run build

MIT © Hemashree VI · Byte Decoded on YouTube · Also check out GitHub Wrapped.

About

💓 Check your GitHub's pulse. 4 free tools: 📈 star history videos, 🪪 an auto-updating README dev card, 🔥 a brutally honest repo roast, and 👀 an unfollower tracker with weekly email reports. No login, runs in your browser plus a GitHub Action.

Topics

Resources

Stars

2 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages