# why-desktop.md
Why I build desktop apps
Most software moved into a browser tab, and for a lot of it that is fine. The tools I use every day work better as real apps: they open instantly, work offline, keep files where I can see them, and respect the shortcuts my hands already know. That is what I build.
- 01
Local-first
Your files stay on your disk in formats other apps can read: .docx, plain git repositories, SQLite. No account, no sync server, nothing phoning home. Comic Studio runs its AI models on your own machine too.
- 02
Small and fast
Tauri uses the system webview instead of shipping a browser, so GitDesk is 4.4 MB and Lantern 4.1 MB. Heavy work runs in Rust, off the UI thread.
- 03
Feels like it belongs
Real windows and menus, light and dark themes that follow the system, platform shortcuts, and a prompt before you lose unsaved work.
- 04
Keyboard-first
Common actions have shortcuts. YayMal uses Word’s, and Lantern plays entirely from the keyboard with arrows, WASD, vi keys or the numpad.
- 05
Tested where it counts
The logic lives in a Rust core with its own tests. GitDesk’s git layer runs against real repositories; Lantern’s generator is checked across 200 seeds.
How each app is put together
- Rust core
- Typed commands
- React UI
- CI on 3 OSes
- Signed builds
Each app is a Rust core that owns files, processes and state, with a React UI that calls it through typed Tauri commands. Signed, notarised builds with auto-update are the last milestone on every roadmap.
