Case study
Git Nav
A free, open-source Git client for macOS, Windows and Linux: a commit graph that folds away unreferenced history, diffs between any two references, and branch cleanup that recognises squash merges.
- Solo
- Tauri
- TypeScript
- MIT
- 2026
Selected evidence
Commit graph, collapsed

01
Problem and context
Git GUIs show every commit whether or not anything points at it, so a busy repository becomes a wall of history, and none of them can tell that a branch was squash-merged, so stale branches pile up. Git Nav is built around those two problems: a graph you can read, and cleanup you can trust.
02
Santiago's role
Santiago designs and builds Git Nav alone, from the graph layout and the Git plumbing to the signed installers and the release pipeline.
03
Constraints
- —It has to run as a native desktop app on three operating systems and two CPU architectures, from one codebase.
- —Every operation has to be safe on a repository people care about: predict conflicts before running, and report every reference that moved.
- —Staging and committing have to go through Git's own index so the terminal and the app never disagree.
04
Important decisions and tradeoffs
- 01Fold every commit nothing points at into a collapsible run, so the graph shows branches, tags, stashes, worktrees and pull request state without the noise between them.
- 02Detect squash merges by comparing content rather than ancestry, and preview what cleanup would delete, grouped by reason, before deleting anything.
- 03Expose twenty-one Git operations, from checkout and merge to rebase, cherry-pick, revert and reset, each one predicting its conflicts before it runs.
- 04Ship installers for every platform on every release, sign and notarize the macOS build, and let the app update itself from signed releases.
05
Verifiable proof and concrete improvements
- —Installable with one command, npm install --global git-nav, or from signed installers for macOS, Windows and Linux on x64 and arm64.
- —Eighteen releases since August 2026, with the app updating itself in place.
- —Public repository under the MIT license.
06
Results and lessons
- —A Git client that opens in a real repository and stays readable, which is the test most of them fail.
- —The whole product surface, from Rust-side Git plumbing to a public download page, shipped and maintained by one person.
Current status
Actively developed. Free and open source.