"An app that lives open all day beside a heavy program can't be a resource hog. Footprint stops being an implementation detail and becomes part of what the product is."
When 'Lightweight' Stops Being Optional
For a tool you open, use, and close, resource footprint barely matters — it's a detail. But Cinder is a sidecar: it stays open beside Photoshop for entire creative sessions, hours at a time, while Photoshop itself is already consuming serious memory. In that role, footprint isn't a detail you can optimize later. It's part of the product definition. A heavy sidecar makes the whole setup feel sluggish, and the artist quietly stops opening it.
The Electron Temptation
The familiar way to build a cross-platform desktop app with web tech is Electron — it bundles a full browser engine with every app. It's well-trodden, well-documented, and most developers already know it. That familiarity is a real pull. But each Electron app carries its own heavyweight runtime, and for an all-day sidecar sitting next to an already-heavy host, that weight directly undermines the product's reason to exist.
Tauri and a Real Rust Core
The choice was a lighter native shell: a framework that uses the operating system's own web view instead of bundling a browser, with a genuine Rust core underneath for native behavior. That keeps the footprint small enough to honor the sidecar role. The Rust core isn't decorative — it owns window behavior, filesystem staging, and the native concerns a web-only wrapper handles poorly. The shell is light and the native layer is real. If you want to build this rather than just understand the choice, the Tauri Quest walks through the native shell end to end and the Rust Quest teaches the language the core is written in — this lesson is the why, those two are the how.
The Fallback Rule That Keeps It Honest
There's a discipline guarding this choice: the heavier, more familiar option is allowed as a fallback only after a real, proven blocker in the lighter one — never because the lighter one is unfamiliar. Unfamiliarity is a learning cost, not a blocker. This rule stops 'this is hard and I don't know it well' from masquerading as 'this doesn't work.' If the lighter stack genuinely can't do something essential, you fall back; if you just haven't learned it yet, you learn it.