Shipping Tauri Apps — Webcanvas and the Gnomad Assistant
Cross-platform beta releases for a live HTML playground and a menu-bar AI assistant with human-in-the-loop shell gates.
- tauri
- webcanvas
- agents
- ollama
- hitl
Two apps, one pipeline
Both Gnomad Webcanvas and the Gnomad desktop assistant share a Tauri 2 + React 19 foundation, but they solve opposite problems:
| App | Job |
|---|---|
| Webcanvas | Prototype UI in HTML/CSS/JS with Monaco panes and live iframe preview — browser or desktop |
| Gnomad | Menu-bar AI with real shell and filesystem tools — not simulated chat |
Webcanvas v0.1.0-beta.5
Full macOS, Windows, and Linux installers on GitHub. Highlights:
- Resizable Monaco panes with CDN library toggles (Tailwind, GSAP, Three.js, etc.)
- Viewport presets, designer tools, ZIP export
- LZ-compressed share URLs — no backend
- Browser demo for zero-install trials
Product page: /apps/webcanvas
Gnomad v0.2.0-beta.1
The assistant connects DeepSeek, OpenAI-compatible APIs, Ollama, or local GGUF — then runs a multi-step agent loop with human-in-the-loop gates:
- Sudo Gate — cryptographic approval before privileged commands
- Path Gate — tokens for filesystem writes
- Live terminal — xterm.js stream on every command card
Release filenames use 0.2.0-1 (not the git tag suffix) — a gotcha when wiring download pages; the site config must match the actual asset names from gh release view.
All three platforms shipped in this wave: .dmg, .exe, .msi, .AppImage, .deb, .rpm.
Product page: /apps/gnomad
Release hygiene
- Tag on GitHub → CI or manual upload of artifacts
- Mirror to
.downloads-staging/before Hostinger deploy - Update
apps.tsfilenames andavailableflags per platform - Add or refresh the matching
/projects/case study for portfolio cross-linking
Takeaway
Tauri makes cross-platform desktop feel achievable for a solo studio — but download URL discipline is the hidden work. Treat release asset names like API contracts and test them with a real mirror script, not hard-coded guesses.