A small, fast desktop app for optimizing images and converting between formats — including HEIC (iPhone photos) → PNG/JPEG/WebP — by dragging and dropping files onto the window. Built with Tauri (Rust) + Svelte for a tiny, native-feeling app instead of a bundled-Chromium Electron app.
- Tauri v2 — Rust backend, native OS webview (small binaries, low memory)
- Svelte 5 / SvelteKit (SPA mode) — UI
image— decode/encode PNG, JPEG, WebP, GIF, BMP, TIFFheic— pure-Rust HEIC/HEIF decoder (no C deps)oxipng— lossless PNG recompression pass
npm install
npm run tauri devcd src-tauri && cargo testThe UI is a small Linear-inspired dark-mode design system (src/lib/tokens.css)
with motion designed to represent each stage of the image pipeline: a staggered
"pop + settle" entrance for dropped files, a shimmer "scan" while decoding/converting,
a progress fill that crossfades from accent-tint to accent, and a checkmark pop on
completion.
The heic crate this project depends on is licensed AGPL-3.0-only (or a commercial
license from Imazen). Accordingly, this project is open source under AGPL-3.0 — see
LICENSE.
