Native for iPhone & iPad

See how your branches really relate.

Lanes connects to GitHub and renders any repository's history as a clean, GitKraken-style commit graph — every fork, every merge, laid out so the story reads itself.

No account required. Public repos work token-less — sign in with GitHub for private ones.

main · merged
feat/login forked
Lanes showing a commit graph on iPhone
Forks & merges, routed topological order Author-avatar nodes ref & tag chips Offline demo Keychain tokens

Why Lanes

A graph you can actually read.

Most history viewers cram branches into a flat list. Lanes gives every commit a column and routes the lines between them — the same mental model you build at a desktop, now in your pocket.

True lane layout

A deterministic engine assigns each commit a lane and draws curved edges through forks and merges — lines that actually join up, row to row.

Sign in, stay private

GitHub OAuth device flow — no password ever entered in the app, no secret shipped in it. Tokens live in the Keychain; public repos need none.

Built for the small screen

Avatar nodes, ref and tag chips, tap-a-commit detail, pull-to-refresh. Great on iPhone, scales straight to iPad.

The engine

The name is the architecture.

Every commit is assigned to a vertical lane; forks and merges are routed between lanes. The layout is pure, Foundation-only and deterministic — so it's unit-tested in isolation, with no UI in the loop.

  • Topological ordering. Newest on top, but never above its own children — odd commit dates can't break the graph.
  • Lane assignment. First parent continues the lane; merge parents take their own; converging children fold into the leftmost.
  • Continuous lines. Lanes leaving a row equal the lanes entering the next — the invariant the tests guard.

Get Lanes

Read any repo's history at a glance.

Add a repo by owner/name or URL and watch its branches unfold. Free to try on every public repository.