Pulse

Analyse how your team works, from its git history and pull requests.

Free · Version 1.1.0 · 10 October 2026

macOS, Apple Silicon · 346 MB · Signed and notarised by Sageware Solutions Inc.

Windows, 64-bit · 286 MB · Not yet code-signed

Pulse overview: commits, contributors and lines changed across 92 Sageware repositories since 2023, with monthly commits stacked by person.
My team's repositories at Sageware, all time.

I built Pulse because I wanted a fair picture of my team’s work across the nearly hundred repositories at Sageware, without wiring up another dashboard service.

It reads the git history of every repository in a folder, and the pull requests and reviews from GitHub, and lets you look at any of it by person, by repository, or one person in one repository, for any day, week, month, quarter or year. The headline numbers are compared with the same point in the last period, so you can see whether things are moving.

People

Each person gets a page: their rank and share of the team’s commits, where they work, and how their churn, survival and help to teammates compare with the rest of the team. A calendar shows every day they committed, and a punchcard shows when in the week they tend to work.

A person's page in Pulse: commits, repositories touched, lines changed, churn, survival and help to others this year, compared with last year and the rest of the team.
One person's year, compared with last year and the rest of the team.
A person's daily activity calendar for the year, a weekday-by-hour punchcard of when they commit, and the file types they change most.
Daily activity, when in the week they commit, and what kind of code they write.

What kind of work it is

Pulse sorts every changed line into one of four kinds:

  • New work: lines that weren’t there before.
  • Refactoring: changes to code that has settled, more than three weeks old.
  • Churn: someone reworking their own code from the last three weeks.
  • Helping others: someone improving a teammate’s recent code.

It estimates this by tracking who wrote each recent line and how old it is, following files through renames. Lockfiles, build output and other generated files are left out so they don’t drown the signal.

The work mix table in Pulse: each person's lines changed split into new work, refactoring, help to others and churn, with survival and test share, and churn above 1.5 times the team rate shown in red.
Work mix by person. Churn well above the team's rate shows in red.

Code that lasts

Survival is the share of the code someone added to the default branch that is still there today, taken from git blame. Pulse groups it by when the code was written, so recent work isn’t unfairly compared with code that has had years to be replaced.

It also shows who wrote today’s code, and the bus factor: the fewest people who together wrote more than half of it. A repository with a bus factor of one is flagged.

Code survival in Pulse: weekly columns of lines added this year, split into code still in the default branch and code since rewritten or deleted, next to a list of who wrote today's code.
Code survival this year, and who wrote the code that's there today.

Pull requests

  • Where the time goes: each pull request split into coding, waiting for a first review, and in review. The wait for a first review is usually where work stalls.
  • Open now, oldest first, with anything waiting more than a week in red.
  • Reviewers: who approves, who asks for changes, and how quickly each responds.
  • Who reviews whom: a grid of authors against reviewers, so you can see who carries the reviewing and who never gets reviewed.
  • Size against outcome: how review rates and merge times change from tiny pull requests to very large ones, with a plain sentence saying what that means for your team.
Pulse's Who reviews whom grid of authors against reviewers, above a table comparing pull requests by size, from under 10 lines to over 1,000, on review rate, comments, wait for review and cycle time.
Who reviews whom, and how pull request size changes the outcome.

A guide to reading it fairly

The numbers are easy to misuse, so Pulse comes with a guide. It opens with the rule I follow: read the numbers, then talk to the people. It describes seven signs of an engineer who ships, each with a strip showing where your own team sits, and it is clear about what git can’t tell you. Every metric has a short explanation where it appears, along with the typical range for your team. I treat the numbers as a signal, not a score, and I’d suggest you do the same.

Pulse's guide: seven illustrated cards describing signs of an engineer who ships, such as steady cadence, code that lasts and little rework, each with a strip of dots showing the team's spread and median.
Signs of an engineer who ships, each measured against your own team.

Getting around

  • Press ⌘K (Ctrl+K on Windows) and type a name, a repository, or both. “mark loans” opens one person’s work in one repository, next to everyone else’s.
  • Drag across the timeline to pick a range, click any column to zoom into it, and use the arrow keys to step back and forward.
  • Every view is a link, filters included, so you can send someone exactly what you’re looking at.
  • Search every commit by message, hash, repository or person, and open any commit to read its diff straight from your clone.
Pulse's jump palette open over the overview, with the query mark loans matching Mark Christopher Lumbay's work in the loans-os repository.
Jump to a person, a repository, or one person in one repository.

Ask it questions

An agent panel lets you ask about the data in plain language, using Claude Code or Codex with your own sign-in. It reads the same numbers you see, through read-only tools, knows which page and range you’re looking at, and links its answers back to pages in Pulse. It asks before changing anything in your files, your repositories or on GitHub.

Getting started

On first launch Pulse walks you through three steps: sign in to GitHub with the GitHub CLI, pick one or more organisations, then pick repositories. It uses clones you already have and only downloads the ones that are missing. Before it starts, it shows how much it will download and how much disk space that leaves.

The first read of a folder takes about 30 seconds for a hundred repositories. Pull requests then sync in the background. Opening the folder again later is instant, and Fetch and refresh also picks up repositories created since.

People often commit under more than one name or email. Pulse merges them automatically, and you can rename someone, merge or split their identities, or mark an account as a bot. You can also leave repositories out without deleting them.

Your data stays on your computer

Pulse reads your local clones and talks to GitHub with your own login. Everything it works out is kept in a hidden .pulse folder on your computer. Nothing is sent to me or to Sageware.

Requirements

  • A Mac with Apple Silicon, or a 64-bit Windows PC
  • Git and the GitHub CLI. If either is missing, Pulse installs it for you: with Homebrew on a Mac, and with winget on Windows
  • A GitHub account with access to the repositories you want to look at

The Windows installer isn’t code-signed yet, so the first time you run it Windows warns that it’s from an unknown publisher. Choose More info, then Run anyway.

Created by

  • Jesse PanganibanCEO, Co-Founder