Tech stack
For the curious, here’s the stack behind Loach at a glance.
Stack at a glance
| Layer | Choice |
|---|---|
| Desktop shell | Tauri 2.x (Rust) |
| Frontend | React 18 + Vite 7 + TypeScript |
| Styling | Tailwind CSS + shadcn/ui (Radix primitives) |
| Icons | lucide-react |
| State | Zustand (in-memory; SQLite-backed where appropriate) |
| Storage | SQLite via rusqlite (bundled — no system dependency) |
| Secrets | keyring crate → Windows Credential Manager / Linux Secret Service / macOS Keychain |
| Hashing | argon2 + rand_core (app-lock) |
| HTTP | reqwest with streaming + rustls-tls |
| Markdown | react-markdown + remark-gfm + rehype-highlight |
| Document parsing | pdfjs-dist (PDF) + mammoth (DOCX) |
| System tray | Tauri 2 built-in (tray-icon feature) |
| Bundle targets | NSIS .exe on Windows; .deb / .rpm / .AppImage on Linux; .dmg + .app.tar.gz on macOS (Apple Silicon) |