v1.0 — Offline-ready PWA

Your Git client, anywhere.

A full-featured Git client that runs in your browser, on your VPS via Docker, or as a desktop PWA. Talks to your real local repos, SSH agent, and credential helpers. No cloud lock-in. Works fully offline.

Offline-first
Docker-ready
PWA installable
stratum artificer +
Repos
stratum
artificer
umbrella
magnitude
Branches
main
feat/landing
Merge branch 'feat/graph' victor
feat: add AI review pipeline victor
fix: diff truncation at 500 victor
feat: code knowledge graph victor
refactor: hexagonal bridge victor
feat: multi-repo tab system victor
feat: Polar.sh payments victor
feat: PWA + mobile layout victor
src/components/GraphView.tsx
const [nodes, setNodes] = useState
const sorted = nodes.sort((a, b) =>
const sorted = [...nodes].sort(
(a, b) => a.timestamp - b.timestamp
)
return (
<div className="graph">
<canvas ref={canvasRef}>
{sorted.map(node => (
Three ways to run

Deploy it your way

Same app, three deployment targets. Desktop PWA for local work. Docker on your VPS for team access. Or just open the web app.

Install as a desktop app

Stratum is a PWA. Install it on macOS, Windows, or Linux directly from the browser. It runs in its own window, works offline, and feels like a native app.

Full offline support — commit, branch, diff without internet
Talks to your real local Git, SSH agent, and credential helpers
Native window controls, dock icon, system integration
Quick start
# Clone and run the bridge locally $ git clone https://github.com/your/stratum.git $ cd stratum && cargo build --release $ ./target/release/stratum-bridge \ --port 8787 \ --bind 127.0.0.1 # Open the web app and install as PWA $ open http://localhost:5173
What's inside

Everything a Git client needs

Commit graph, diff viewer, file tree, AI-powered code review, and a code knowledge graph. All running locally against your real Git repos.

Commit graph that renders fast

Virtualized canvas-based graph with zoom, author filtering, and Gravatar avatars. Handles repos with 10,000+ commits.

GraphView.tsx — virtualized
Merge pull request #42 2h ago
feat: add commit graph zoom 3h ago
fix: avatar alignment 5h ago
refactor: extract graph math 1d ago

AI-powered code review

Bring your own LLM key. Structured reviews with severity scores and clickable line references.

AIChatPanel — review
Review staged changes
Found 2 issues in auth.ts:42. JWT secret read without validation.

Split and unified diffs

Syntax-highlighted, lazy-parsed, paginated. Binary previews and inline review annotations.

Multi-repo tab system

Browser-like tabs with per-tab state isolation. Keyboard shortcuts for everything.

Code knowledge graph

A built-in code graph parser extracts function, class, and type relationships. Query callers, find dead code, and see the blast radius of any change before you merge.

impact radius — depth=2
repo_diff_raw()
render_diff()
DiffViewer.tsx
parse_file_chunk()
useRepoBlob()
splitDiffByFile()
Benchmarks

Native-speed Git, in your browser

The Rust bridge talks to libgit2 and your system Git directly. No JavaScript reimplementation, no WASM overhead. Measured against the Stratum repo itself (196 commits) on a VPS.

Graph paint 6ms SVG commit graph, first paint after data arrives
Diff render 10ms Bridge API → parsed diff → rendered
Memory 14MB JS heap after repo open with graph
Cold start 1.6s Bridge boot + page load + first paint
Stratum bridge (Rust + libgit2)
Commit graph (196 commits) 14ms
Diff HEAD~1 10ms
Status 11ms
Native git CLI (same repo)
git log --graph 6ms
git diff HEAD~1 4ms
git status 3ms
PWA

Git in your pocket

The same app, reimagined for touch. Bottom tab navigation, safe-area aware, installable as a PWA on iOS and Android. Review diffs on the go.

Touch-first navigation

Bottom tab bar with 36px minimum touch targets. No hover-only affordances.

Installable PWA

Add to home screen. Runs in standalone mode with no browser chrome.

Safe-area aware

Content extends into notches and home indicators. No cut-off UI.

stratum — main 9:41
feat: add AI review pipeline
victor · 2h ago
fix: diff truncation at 500
victor · 5h ago
feat: code knowledge graph
victor · 1d ago
refactor: hexagonal bridge
victor · 1d ago
feat: multi-repo tab system
victor · 2d ago
feat: Polar.sh payments
victor · 3d ago
Repos
Changes
Graph
Diff
Pricing

Pay once, use forever

One-time license for desktop. Subscription for hosted Docker. Free tier for trying it out.

Free
Free
$0

Desktop app, one repo at a time. All features.

All features unlocked
1 repo tab at a time
Local Git + SSH agent
AI code review (BYO key)
Get started
Teams
Pro
$129 one-time

For teams using the Docker deployment.

Everything in Personal
Docker self-hosted license
Multi-user auth (JWT)
Commercial usage
Buy license
FAQ

Questions, answered

Yes. The Rust bridge runs locally and talks to your system Git. Once the web app is loaded, all Git operations — commit, branch, diff, merge, rebase — work without an internet connection. The PWA caches the app shell so it loads even when you are offline.

Yes. Stratum uses a local Rust bridge that calls your real system Git installation, libgit2, your SSH agent, and your credential helpers. The browser is only the UI layer. No repos are uploaded to any cloud.

The AI review works with any LLM provider — OpenAI, Anthropic, OpenRouter, Ollama, LM Studio, or any OpenAI-compatible endpoint. You bring your own API key. Stratum assembles the repo context, staged diffs, and AGENTS.md to generate structured reviews with severity scores and clickable line references.

The Docker image bundles nginx (serving the static frontend) and the Rust bridge. You mount your repos directory as a read-only volume, and Stratum provides a web UI for browsing and managing them. State persists in a Docker volume. Multi-user auth via JWT with SQLite or Postgres backend.

No. All Git operations happen locally through the Rust bridge. The only data that leaves your machine is what you explicitly send to your LLM provider for AI code review — and that goes directly from your browser to the provider you configured, not through any Stratum server.

Free tier: all features, limited to one repo tab at a time. Personal license ($79 one-time): unlimited repos, all future updates. Pro license ($129 one-time): adds Docker self-hosted deployment, multi-user auth, and commercial usage. Enterprise options available on request.

Start using Stratum

Free to try. No account required for the desktop app.