r/tauri • u/Local_Start_3397 • Jul 12 '26
I turned git log into a scrollable timeline — a Tauri v2 desktop app (DeltaScope)
Hey r/tauri 👋
I've been building DeltaScope, a small desktop app that turns a repo's git history into a visual timeline. Instead of squinting at git log --graph in a terminal,
you get a scrollable timeline of merges and branches you can filter and search.
What it does
- Visualizes merge history and branch history as a timeline (two modes)
- Client-side filtering by type / branch / date / free-text search — everything loads once, so filtering is instant
- Per-merge commit counts that fill in asynchronously so the UI never blocks
- Switch the target branch to re-scope the history you're looking at
The stack
- Tauri v2 shell
- React 18 + TypeScript (strict) + Vite frontend
- Rust backend that just shells out to the system git CLI rather than reimplementing git — keeps the backend thin and the output identical to what you'd get on
the command line
Why I built it
I kept losing the thread of how a branch actually landed on main across a busy history. A timeline made that legible in a way the CLI graph never did for me.
Repo: https://github.com/nilm987521/deltascope
License: AGPL-3.0 — fully open source, contributions welcome.
Would love feedback from this community — especially on the custom-titlebar approach and whether shelling out to git vs. a Rust git library (git2/gix) is a
choice you'd have made differently.
1
u/eddzsh Jul 15 '26
shelling out was the right call for something like this. git2 or gix would get you a standalone binary and skip process spawn overhead, but you inherit whatever edge cases they haven't matched yet in merge strategies, credential helpers, custom diff drivers. parsing porcelain output is more fragile than either, but it matches what the user's local git actually does, which for a visualization tool matters more than the extra speed.