Case study · Product · 2025 – now
ConvertSave: a desktop file converter people pay for
My brother Hunter and I designed, built, and launched a native Mac & Windows file converter. Nine months after launch it has 750 paying customers and $27k in revenue — with no outside funding and a two-person team.
assets/img/ and replace the placeholders below.assets/img/convertsave-hero.png
The problem
Converting a file shouldn’t mean uploading it to a sketchy website with a 25 MB limit and a “premium” upsell. Creative people do this dozens of times a week — HEIC to JPG, MOV to MP4, images to a single PDF — and every option was either bloated, online-only, or a command line.
I’d taught millions of people how to do exactly these conversions on the Pixel & Bracket channels. The search demand was right there in my own analytics. So we built the tool I kept recommending workarounds for.
How we built it
Two brothers, two roles. Hunter owns the Rust backend and engine integrations; I own the product: research, flows, UI, the design system, onboarding, release notes, and half of customer support. We collaborate in Git — I ship front-end code, not Figma links.
- Native, not Electron. Tauri 2 with a Rust core keeps the app small and fast on Apple Silicon, Intel, and Windows.
- Offline and private by design. Files never leave the device. That constraint drives every architecture choice.
- Engines as plug-ins. FFmpeg, ImageMagick, Pandoc, LibreOffice, Pdfium, Tesseract OCR, Assimp, and pure-Rust paths for archives, SVG, and data formats. GPL tools are download-on-demand from official sources and never bundled — we removed a silent AGPL Ghostscript dependency rather than ship it.
- Tested on every platform. Cargo unit + integration tests and cross-platform CI on every pull request.
Design decisions
The interesting design problem wasn’t the convert button. It was everything around it: making a “hundreds of formats” tool feel small.
- A grouped queue with per-row pills. Files group by type; each row shows its target format. Clicking opens a floating drawer with filterable format chips, a live preview, a quality slider, and inline advanced options.
- Sync by extension. One toggle keeps every file of the same type on the same settings — including files added later. It removed the most common support ticket.
- Guided setup instead of a wall of downloads. New users download two essential engines with live progress; the rest live in Settings → Tools. Then a five-step spotlight tour on a bundled sample file.
- History and Presets. Every conversion is logged (500 most recent, day-grouped, show-in-folder). Named recipes can be saved and applied to a whole group.
- A token-driven design system. Inter for UI, Barlow for display; explicit type scale and weight rules; color roles for text, surface, accent, and panel — implemented in CSS custom properties so the same tokens drive desktop and the native iOS app.
- Keyboard-first. ⌘O add, ⌘↩ convert all, ⌘1–4 pages, Esc closes the drawer. Shortcuts show as tooltips where they apply.
assets/img/convertsave-drawer.png
Results (as of Sept 2026)
Pricing is deliberately simple: $9/month, $5/month billed yearly, or $129 once. Three devices per license, 14-day refunds, a public issue tracker, and a Vercel/Supabase site with short SEO tutorials that feed the funnel the same way the YouTube channels do.
What I learned
- Support is design research with a deadline. Every recurring ticket became a feature (sync toggle, guided setup, clearer error states).
- Licensing is a product decision. Being strict about GPL/AGPL made the architecture better, not just safer.
- A two-person team can ship a native cross-platform app when the designer can write front-end code and the engineer trusts the design system.
Contact
Want to work together? Say hello.
Open to senior product design roles, founding-designer conversations, and select collaborations.