GitPulse: show your latest GitHub commit in React
GitPulse is a small React package that shows your latest public GitHub commit. No server, no token, no setup just your username and a component.
What GitPulse does
GitPulse reads your latest commit from the GitHub public API and displays it in a terminal-style line: your username, repo name, commit message, and how long ago it was pushed.
It runs entirely in the browser. No backend, no GitHub token, and no extra configuration. Results are cached for 60 seconds so you are not hammering the API on every page load.
Good for portfolios, personal sites, or anywhere you want a live “what I shipped last” signal.
Installation
Install the package with npm, pnpm, or yarn:
npm install @jotx19/gitpulse
That is all you need to get started.
Using GitPulseStatus
Import GitPulseStatus and pass your GitHub username. That is the only required prop.
You can optionally filter to one repo, change how often it polls, pick an accent color for the timestamp, and choose an animation style for the commit message.
Example props:
username — your GitHub handle (required) repo — optional, e.g. jotx19/portfolio interval — polling in milliseconds, default 60000; use 0 to turn off polling color — green, blue, purple, red, or yellow variant — typewriter, reveal, or skeleton className — extra classes on the wrapper Drop it anywhere in a client component and it handles the rest.
Getting a latest commit
If you want your own UI instead of the built-in component, use getLatestCommit directly.
Pass a username and optionally a repo. It returns the latest commit data, or null if nothing is found. You also get error info and GitHub rate-limit details when relevant.
Each commit includes the message, repo name, branch, short SHA, timestamp, URL on GitHub, and author name.
Filter by repo
If you only care about one project, pass the repo prop on the component or the repo option to getLatestCommit.
That way you only see commits from that repository, not every public repo on your account.
Cache and rate limits
GitHub allows about 60 unauthenticated requests per hour per IP. GitPulse caches results for 60 seconds, so the default poll every 60 seconds stays within that limit.
For more headroom, increase the interval—for example, poll every 120 seconds instead.
You can clear the in-memory cache with clearCache when you need a fresh fetch, such as during testing.
Why I built it
I wanted my portfolio to show what I am actually shipping, without standing up an API route or storing a GitHub token.
GitPulse is a small, typed React widget for that. Install it, point it at your username, and your site stays in sync with your latest push.