Forgeline
A native desktop toolchain runner — Rust core, webview skin — that starts faster than Electron apps splash.
STACK — Tauri · Rust · TypeScript · SQLite · GitHub API
FIG. 05.0 — SYSTEM COMPOSITION, DRAWN IN CODE
THE PROBLEM, PLAINLY
Developer tooling on the desktop has settled into a bad bargain: 200 MB installers and half-second cold starts for what is, underneath, a terminal with buttons. Forgeline was built to reject the bargain — a Rust core doing the real work, with a webview UI thin enough to stay honest.
The R&D question: can a web-skilled team ship desktop software with native discipline — single-digit-megabyte installers, double-digit-millisecond cold starts, and OS integration that feels first-party on Windows?
Rust owns the work
File watching, process supervision, and log indexing run in the Rust core on native threads. The UI never blocks on the filesystem — it subscribes.
IPC as a typed contract
Every command crossing the webview boundary is a typed, versioned message. The UI and core compile against the same schema, so drift is a build error, not a runtime surprise.
The OS is the framework
System tray, global shortcuts, native notifications, and file associations — wired through Tauri so the app behaves like it was born on the platform, not shipped to it.
Cold start as a feature
74 ms to interactive, measured on a cold cache. Startup work is deferred, indexed state memory-maps in, and nothing paints before it’s ready to respond.
$ forgeline build --releasecompiling core v0.4.2 (rustc 1.79, LTO fat)bundling webview assets ... 812 kB (brotli)installer (msi) ........... 4.8 MBcold start to interactive . 74 ms (target < 100 ms)idle memory ............... 38 MBelectron baseline, same feature set:installer 187 MB · cold start 1.4 s · idle 210 MB
- System tray
- Live task status without a window open
- Global shortcut
- Summon the runner from any app
- File associations
- Project files open into the right workspace
- Auto-update
- Signed delta updates, no full reinstall
ENGINEERING NOTE
Users can’t name why native-fast software feels trustworthy — they just stop flinching before they click. Getting under 100 ms wasn’t an optimization pass; it was the design brief.
0ms
COLD START TO INTERACTIVE
0.0MB
SIGNED INSTALLER
0%
SMALLER THAN THE ELECTRON BASELINE
0MB
IDLE MEMORY FOOTPRINT

