Istiaq Nirab full stack + ai
← Case studies
03 Swift 2026

Glance

Git client for reviewing AI agents' work on macOS

A native Mac git client for reviewing what Claude Code, Codex, Copilot and other coding agents change, across every repository, worktree and branch in one window.

1
window for every worktree
0
commits made by Glance
0
accounts, servers or tracking
changes — worktrees, changed files and a syntax-highlighted diff
changes — worktrees, changed files and a syntax-highlighted diff
Overview

When several coding agents work at once, each in its own git worktree, keeping up with what they changed means jumping between terminals, git diff and an editor. Glance puts every repository, worktree and branch in one sidebar. You read each agent's changes as they happen, mark files as reviewed, throw away the hunks you don't want, and hand the rest back to the agent to commit.

Role

  • Designer and engineer

Timeline

  • Ongoing

Team

  • Solo

Stack

  • Swift
  • SwiftUI
  • git
  • tree-sitter
  • FSEvents
The problem
  • Agents write files constantly and in parallel. A review tool that needs a refresh button, or only knows about one checkout, falls behind the moment there are three worktrees.
  • Reviewing is not committing. If the tool stages and commits for you, it fights the agent over git state, and merge conflicts end up in the wrong hands.
  • It had to run the user's own git, with their config, hooks and credentials, and still feel instant on large repositories.
Approach
  1. Read .git directly, write through git

    Worktrees, branches and the remote are read straight from the files in .git, which is much quicker than running git on every refresh. Anything that writes, such as discarding a hunk or pushing, runs /usr/bin/git, so the user's config, hooks and credentials apply.

  2. Live without polling

    An FSEvents watcher re-reads a worktree's changes whenever its files, index or HEAD change, so diffs appear while the agent is still writing. Each window keeps its own models per worktree, so switching with ⌘K is instant.

  3. The agent stays in charge of git

    Glance doesn't commit, fetch, pull or merge. You mark files as viewed, and Copy commit prompt gives the agent a prompt to commit only those. Discarding a hunk applies a one-hunk reverse patch, and ⌘Z writes the old contents back.

  4. Know which agent did what

    History reads the newest 500 commits, marks the unpushed ones and names the agent from each commit's Co-authored-by trailer. Diffs are syntax-highlighted with tree-sitter in unified or split view.

Outcome

Glance is open source under MIT and ships as a universal DMG for Apple Silicon and Intel through GitHub Releases. I use it every day to review the agents working across my own repositories. An update check and Developer ID notarization are next on the roadmap.

Next case study MySelf Swift →
ContactGMT+6

Have something that needs building, fixing, or finishing? Write one paragraph — that's usually enough.

open to new work
Local time--:--:--
Based inDhaka, BD
Experience6+ years