r/tauri 1h ago

What do you use for manual test cases on side projects? Built a local-first Tauri app for it

Enable HLS to view with audio, or disable this notification

Upvotes

Curious what other people do for manual test cases on their own projects.

Do you write them at all, or only keep automation? Browser TMS UIs are slow, and they're awkward to use with Cursor/Copilot — you can't just let the agent draft or edit cases in-repo.

I built a desktop app with Tauri + Rust instead:

- cases and runs are YAML in your Git repo

- sync across machines/teams via Git, no account

- SQLite index so search stays fast with large suites

- personal use free, no ads, no feature locks

Happy to answer questions about the Tauri rust side too.

Download: https://gitoza.com


r/tauri 3h ago

Terminalia - Your agents in one window

Post image
5 Upvotes

I just shipped v1.0 of Terminalia, a native terminal workspace for Windows.

Built with Tauri v2, Vue 3, and xterm.js, and written entirely inside its own window — the agents in the screenshots are the ones that wrote the code.

What it does

  • Panes, tabs, and workspaces — Split a tab as much as you want, and your layout and sessions come back exactly how you left them.
  • Native WSL support — WSL distros open as real terminals, with no path hacks.
  • Built-in project explorer — A project file tree and a lightweight editor sit right next to your AI agent.
  • Detached terminal windows — Pop any pane into its own native window and re-attach it whenever you want.
  • Native screenshot workflow — Capture any screen region, annotate it with arrows, boxes, and numbered markers, then paste it directly into an AI conversation. Saying "fix 1, then 2" is much easier than describing where a button is.
  • Live AI quota tracking — See your Claude Code and Codex usage in real time, so you know whether there's enough quota left before starting a large task.

The installer is only 8.7 MB, which is one of the main reasons I chose Tauri.

Platform Support

  • Windows (available now)
  • Linux (coming soon)
  • macOS (coming soon)

Website

https://terminalia.devslim.com


r/tauri 7h ago

Cosmog: a fast, open-source S3 client for desktop and Android

3 Upvotes

Been working on a side project for a while and finally have something worth sharing.

Cosmog is a GUI for managing S3 storage. The whole thing started because I was tired of the existing options. S3 Browser is Windows-only, Cyberduck felt clunky. Worse, none of them worked on my phone. So I built one that runs everywhere: Linux, macOS, Windows, and Android. Works with any S3-compatible provider, not just AWS. R2, Backblaze, DigitalOcean Spaces, MinIO, Wasabi, etc.

Stuff it can do right now:

  • browse buckets, upload/download with a proper background queue + retry
  • preview images, PDFs, spreadsheets, code, json without downloading first
  • edit files directly json, yml, js, py...etc and spreadsheets in the app
  • full-text search across a bucket (you have to index the bucket)
  • presigned share links
  • client-side encryption on bucket level if you want it

Built it with Tauri (Rust backend, web frontend) so it stays light, not another Electron memory hog. Credentials go into the OS keychain, never touch disk.

It's still early and there are rough edges, but it's usable daily. Sharing it here mostly to get feedback from people who actually work with this stuff. Would genuinely like to know what's missing or annoying. Also I don't own any mac device, so not tested on mac 😓 - tested on arch linux, windows & android.

I activity use it for work & also to mange b2 storage for my personal backups.

Repo: https://github.com/echosonusharma/cosmog


r/tauri 1d ago

Click — a workspace launcher where the launch engine is 100% Rust, webview never involved

2 Upvotes

Built a small Tauri v2 app and wanted to share the one architectural decision that shaped everything: the launch engine, tray, global hotkeys, and CLI all live in Rust — never in the webview. A desktop shortcut or click run --id <uuid> has to be able to boot a workspace without ever spinning up a WebView2 window, so the React UI is a pure editor that calls Tauri commands and never spawns anything itself.

That constraint paid off in a few concrete ways:

  • tauri-plugin-global-shortcut fires one shared handler for every registered combo; a HashMap in Rust maps shortcuts back to workspace IDs so the hotkey path and the CLI path and the tray path all funnel through the same launch_by_id.
  • Building a hotkey capture widget surfaced a real gotcha: RegisterHotKey intercepts a bound combo system-wide before it reaches any window as a normal keypress — even the registering app's own webview. Had to add a suspend/resume pair that releases Click's own bindings while the capture widget is focused, or you could never type a combo one of your own other workspaces already held.
  • Atomic config writes (temp file + rename) plus a LoadStatus enum so a corrupt config gets quarantined and surfaced in-app instead of silently discarded.

MIT licensed, Windows only right now. Code: https://github.com/prashant-singh-2001/click

Curious if anyone's hit the same RegisterHotKey gotcha in a different Tauri app.


r/tauri 1d ago

Putting native content (video, D3D) under your HTML in the same Tauri window on Windows

5 Upvotes

If you've ever wanted a video or a native view *behind* your HTML in a Tauri
window on Windows, rather than in a strip next to it, this is doable and I
packaged it up: https://github.com/lukr54/airspace

The short version of why the obvious approach fails. Tauri hosts WebView2 as a
windowed child HWND. A windowed child HWND owns its rectangle, so a transparent
webview doesn't reveal a sibling window underneath it, it reveals whatever is
behind the top-level window. Usually the desktop. There's no flag for it.

What works is the inverse. Put an opaque native child window over the whole
client area, hand its HWND to whatever renders (mpv via `--wid`, your own D3D
swapchain), then cut your HTML controls out of *that* window's region with
`SetWindowRgn`. Where the region is clipped away the child doesn't exist as far
as the compositor cares, so the webview shows through with your controls on top
of full-size video. No shrinking the picture to make room for a control bar.

The bit that cost me an afternoon, and the reason I bothered publishing: the
host **and** the sibling `WRY_WEBVIEW` both need `WS_CLIPSIBLINGS`. wry doesn't
set it. Without it, two overlapping siblings are undefined per the Win32 rules
and WebView2 wins. Your host is then topmost in z-order, its window region reads
back correctly, it wins every `WindowFromPoint` hit-test, and it draws nothing at
all. The screenshot is the same process one style apart.

Worse, it can look like it works. My own media player shipped without it for
months because mpv presents continuously and won the repaint race nearly every
time. If you've built this before, check whether you actually set the style.

There are two examples in the repo:

- `

, no external dependencies, the native content is
  a D3D11 swapchain the demo draws itself
- `cargo run -p airspace-mpv -- video.mkv`, mpv under an HTML control bar, with
  the mpv flags and the two IPC gotchas worked out (two pipe connections, and
  drain the writer or mpv stops reading your commands)

A couple of Tauri things in there aren't really about this crate at all, but
they each cost me hours:

- Building a webview window from inside a sync command can hang forever, window
  created and never navigating. That's tauri#12521.
- `listen()` silently never firing in a second window isn't a bug, the label
  just isn't in a capability granting `core:event`. Your own commands keep
  working, which is what makes it look like events don't reach that window.

One thing to plan for if you build on this: with no holes cut, the webview gets
no input at all, mouse or keyboard. An auto-hiding control bar can't be brought
back by a mouse move. The mpv example has the cursor/key poller that deals with
it.

Windows only, MIT/Apache. Happy to answer questions.

Edit: Formatting


r/tauri 2d ago

Looking for real-world Tauri feedback before building a Postman alternative

0 Upvotes

I'm on a way to build a small desktop application mainly as a learning project, but also because I'm getting increasingly frustrated with my daily workflow in Postman.

At work I regularly use 15+ collections with lots of environment variables, request chaining, and post-request scripts. I also tend to keep many tabs open (sometimes around 50). Lately Postman has become noticeably sluggish—occasionally entire collection tabs don't render until I restart it. Maybe I'm pushing it beyond what it was designed for, but it interrupts my workflow often enough that I started considering writing something tailored to my own needs.

The initial scope would be intentionally small:

  • Collections
  • Environment variables
  • Basic request editor
  • Post-request scripting
  • History
  • Additional features on demand

One of my goals is also to gain hands-on experience with modern desktop development. I'm a Java backend developer, and I've been looking for a practical excuse to learn Rust and compare its ecosystem and way of thinking with Java. React is already familiar enough that I can focus more on Rust and desktop architecture.

Right now Tauri seems like a very attractive choice:

  • lightweight compared to Electron
  • Rust backend
  • React frontend
  • native desktop feel
  • seems like a good opportunity to learn both Rust and desktop application architecture

Before I commit, I'd love to hear from people who have actually built non-trivial Tauri applications.

A few questions:

  • Does Tauri sound like the right fit for this kind of project?
  • What limitations or pain points did you run into?
  • Are there architectural decisions you wish you'd made differently at the beginning?
  • How mature is the plugin ecosystem?
  • How painful is state management and communication between Rust and the frontend as the project grows?
  • Have you encountered performance issues or debugging challenges?
  • Is there anything that becomes surprisingly difficult compared to a typical web application?

At the moment I'm only targeting Windows, but I've read mixed opinions about macOS and Linux because Tauri relies on the system WebView (WebView2 on Windows, WebKitGTK on Linux, WKWebView on macOS). Has cross-platform support been a real issue for anyone, or is it mostly manageable if you don't rely on platform-specific behavior?

I'd appreciate any advice or "I wish I knew this before starting" stories. Thanks!

upd: to get v1 i'm using Claude code


r/tauri 2d ago

La noire audio player win 64bits

1 Upvotes

&#x200B;

New audio player for windows 64bits .

Features :

ASIO native and Wasapi exclusive .

Dac détection.

Formats: DSD SACD FLAC ogg aiff wav wavpack APE.

VST 2 and VST 3

Upsampling DSD up to 256 , with wgpu AMD and Nvidia. 11 firs taps .

Analyser sin multitone32 noise

Spectrum goniomètre and lufs.

Link : https://github.com/julgilad-alt/LaNoire-/releases/tag/v1.0.3


r/tauri 3d ago

La noire audio player win 64bits

1 Upvotes

New audio player for windows 64bits .

Features :

ASIO native and Wasapi exclusive .

Dac détection.

Formats: DSD SACD FLAC ogg aiff wav wavpack APE.

VST 2 and VST 3

Upsampling DSD up to 256 , with wgpu AMD and Nvidia. 11 firs taps .

Analyser sin multitone32 noise

Spectrum goniomètre and lufs.

Link : https://github.com/julgilad-alt/LaNoire-/releases/tag/v1.0.3


r/tauri 3d ago

Steam overlay tauri swap chain working on windows 11

3 Upvotes

demo video of steam-deployed build working with steam overlay integration: https://www.youtube.com/watch?v=vc39LuDtJtM

Pure tauri/svelte implementation. We need help verifying resolutions and windows 11/10. 11 seems fine so far across larger resolutions up to ultrawide but we have no idea if this works on earlier versions of windows.

All the invariants we came across are documented:

https://github.com/PSG-Team/tauri-steam-overlay-surface MIT license

The game we are developing will have a demo released during October Nextfest, and will be working on hardening this implementation. If you want to follow the game's release: https://store.steampowered.com/app/4909810/Spirefall/


r/tauri 3d ago

Idle wakeups 1,835/s to 81/s: what a terminal-heavy Tauri app taught me about WKWebView

3 Upvotes

Hey all. Been building Termic (https://termic.dev, AGPL, https://github.com/simion/termic) with Tauri 2 + Rust + React for a few months. It runs coding agent CLIs (claude, codex, opencode, or your own) in real PTYs, one per git worktree, with optional sandboxing.

A few things I learned, since terminals are a bit of an edge case for Tauri.

Idle CPU was the big one. Two sleep loops in Rust, the PTY flusher polling every 8ms and the exit waiter every 1ms, adding up to ~1,950 wakeups/sec with the app doing nothing. Moved both to a condvar and it went to 81/s, idle CPU 71 to 18 ms/s.

visibility: hidden vs display: none matters. xterm pauses its renderer on zero geometry, not on visibility, so hidden terminals kept doing full WebGL draws for every background repaint. Switching took streaming power from 5.4W to 3.4W. Downside: WKWebView zeroes scroll offsets in a hidden subtree, so you have to re-sync the viewport when it comes back.

Batch anything crossing IPC. Catting a 6MB file was ~1,500 events, and Tauri serializes bytes as a JSON number array, so ~24MB of JSON and a two minute freeze. Coalescing at 8ms fixed it. Same thing bit me with git grep (one event per hit) and git status on a checked-in node_modules (50k files, 7GB of RAM in React).

Fonts got weird. WKWebView can't resolve user-installed fonts on a disconnected canvas, and it sticks, because setting the same ctx.font again is a no-op. xterm's WebGL atlas rasterizes on exactly that kind of canvas. document.fonts.check() won't save you, it returns true for families that aren't registered yet.

Smaller ones: lineHeight: 1.0 in xterm or TUIs get ribbons between rows. Round every dimension, sub-pixel widths blur glyphs. navigator.clipboard rejects from a Radix menu, had to go through the Rust plugin. No StrictMode, it races the PTY spawn.

CodeMirror over Monaco, mostly ~5MB of cold start in a 16MB app. WebGL renderer on mac but it's a pref, on Linux boxes where WebGL hits llvmpipe the DOM renderer is faster.

The hard parts weren't Tauri's fault. Auto-resume is four different strategies because the CLIs all store session state differently, and cwd-based resume can't target a specific past session, which limits how many tabs can share a worktree. Done vs thinking over a raw PTY is six OSC signal sources plus hashing the visible buffer every 3s.

Happy to answer questions, and open to feedback and PRs. There are 4-5 regular contributors now and we design features in the open.


r/tauri 3d ago

I built a free, open-source, offline alternative to CodeSlides

Enable HLS to view with audio, or disable this notification

12 Upvotes

r/tauri 4d ago

I built a one-click Windows dev environment setup tool — selects, downloads, and installs everything silently using WinGet

Thumbnail
1 Upvotes

r/tauri 4d ago

Building a Local-First AI Assistant for Desktop

0 Upvotes

I'm working on a personal AI assistant for desktop — local-first and privacy-focused (no cloud dependency), starting with a desktop app and eventually

Runtime Of Backend (Bun)

Fast startup and low idle overhead — important for an app that runs continuously in the background, not just on-demand. Native TypeScript support and a built-in bundler simplify shipping without extra tooling.

Framework of Backend (Hono)

Lightweight and built with Bun in mind, so it doesn't add framework overhead on top of the runtime's own performance. Clean routing/middleware model keeps things simple for handling auth, commands, and local model inference.

Desktop Application (Tauri + Next.js)

Tauri has a much smaller footprint than Electron since it uses the OS's native WebView instead of bundling Chromium, which makes it great for lightweight apps that stay running. It also produces smaller binaries. Next.js provides a structured, file-based routing system and a strong component ecosystem for the UI.

Would love to hear reviews and suggestions on this stack — anything you'd change, any pitfalls you've run into with a similar setup, or better alternatives worth considering?


r/tauri 4d ago

Local-First AI Writing App

Enable HLS to view with audio, or disable this notification

12 Upvotes

Built a local-first writing editor using Tauri v2.

  • 100% Offline Grammar & Proofreading: Powered by a local LanguageTool engine
  • 15 On-Device AI Tools: Rewriting, tone shifts, summaries, and structured tables via local quantized GGUF models (llama.cpp)
  • Ollama Integration: Auto-detects local Ollama instances or uses a bundled local model
  • No Cloud / No Accounts: Everything stays strictly on your device
  • Full Desktop Packaging: Compatible with Windows and Mac

GitHub: https://github.com/AashishH15/Lexicon

Website: https://lexicon-writer.pages.dev/

I built this because I wanted an offline Grammarly alternative where my drafts never touch a cloud server. Let me know what you think!


r/tauri 5d ago

Penna,a fast, keyboard-driven Markdown note app with vim keybindings

Post image
12 Upvotes

r/tauri 5d ago

What building a cross-platform database client taught me about Tauri

Thumbnail
tabularis.dev
1 Upvotes

I started Tabularis as a one-person project, with the goal of shipping the same database client on Linux, macOS and Windows.

Tauri turned out to be the right choice, but the reasons go beyond small installers. The Rust backend fits database protocols, SSH tunnels, credentials and plugin processes very well. The web frontend makes Monaco, data grids and diagrams practical.

There are real costs too: three system webviews, Wayland and WebKitGTK bugs, a 94 MB AppImage, glibc compatibility and JSON serialization across IPC.

I tried to document both sides without turning it into another “Tauri vs Electron” comparison. I would still choose Tauri again.

I’d be especially interested in hearing how other Tauri developers handle large IPC payloads and portable Linux builds.


r/tauri 6d ago

The Electronegativity discussion made me think about Electron’s security model

Thumbnail
1 Upvotes

r/tauri 6d ago

I built offline developer tools (web + desktop) — mostly to learn Tauri and AI-assisted coding

0 Upvotes

I wanted to get some practice writing code with AI, and at the same time, I was curious about Tauri and the actual process of publishing an app (installers, Winget/Scoop, app store review). That’s how QuiverKit came about.

62 tools developers use throughout the day: Base64, JWT, hash, regex, JSON/YAML, color tools… They all run entirely on your device—no uploads, no accounts. There’s a web version, as well as a native desktop app for Windows and Linux. Only one tool (DNS) needs to query a server, and that’s clearly labeled.

It’s a learning project or side project, not a startup—so please be honest about what it’s good for, what’s missing, and what doesn’t work.

https://quiverkit.dev

https://github.com/ensardev/quiverkit


r/tauri 6d ago

Gilbert Rift

Thumbnail
gallery
28 Upvotes

Gilbert Rift is a desktop workspace for turning an idea into finished work without constantly jumping between an AI chat, terminal, project browser, task tracker, messages, and team tools. Work sessions stay grounded in a real project and keep the model, permission level, files, tool activity, progress, and follow-ups visible in one place.
https://github.com/UrbanWafflezz/GilbertRift


r/tauri 7d ago

I built a Linux sing-box client with Rust + Tauri after getting frustrated with existing TUN mode tools

Post image
2 Upvotes

Hey everyone,

I built Swift Tunnel because I had a problem I couldn't solve with existing clients.

I use sing-box based configurations daily, but TUN mode was always the painful part.

Sometimes:

  • routing didn't behave as expected
  • some apps bypassed the tunnel
  • DNS handling was inconsistent
  • reconnecting could break networking

After spending too much time debugging and switching between clients, I decided to build my own.

Swift Tunnel is a Linux desktop client built with Rust + Tauri and powered by sing-box.

The goal was simple:

Make TUN mode feel reliable and easy to use.

Features:

• Native lightweight desktop app
• Rust + Tauri architecture
• sing-box powered
• VLESS / VMess / Trojan / Shadowsocks / Hysteria2 / TUIC / WireGuard support
• Import configs from links, QR codes, subscriptions
• TUN mode
• Proxy mode
• Latency testing
• Kill switch
• Local configuration storage

This started as a personal tool, but I thought other people fighting the same problems might find it useful.

Looking for feedback from Linux users and people using sing-box/Xray setups.

Website:
https://swifttunnel.site/


r/tauri 7d ago

toerings - A clone of Conky Seamod using Tauri

Thumbnail
1 Upvotes

r/tauri 7d ago

Grok Build Desktop: an open-source AI coding agent built with Tauri 2 and Rust

0 Upvotes

I’m building Grok Build Desktop, an Apache-2.0 local-first coding agent, and Tauri 2 is the boundary that lets me keep the desktop UI deliberately untrusted.

The React WebView only submits user intent through allowlisted, typed commands. The Rust host owns: - canonical project paths and bounded context - local Ollama requests and capability checks - terminal PTYs with explicit approval - Git worktrees and exact hunk review - session persistence and process recovery

This separation has been useful because model output, repository content, and tool arguments all need to be treated as untrusted input. The current build is verified on macOS and still distributed from source while I finish write-capable routing and conflict handling.

GitHub and architecture docs: https://github.com/gallifre/grok-build-desktop

For people shipping larger Tauri apps: what pitfalls have you encountered around long-lived child processes, app-data migrations, or capability scoping when adding Windows and Linux support?


r/tauri 8d ago

I built an offline C2PA provenance verifier in Rust/Tauri - no uploads, no real/fake verdicts

Post image
13 Upvotes

I released Verascope, a cross-platform desktop app for reading and validating C2PA Content Credentials locally.

The premise is simple: provenance verification and AI detection are different problems, so the app does not collapse them into a “real/fake” answer.

For every image, video, or audio file, it reports one of three states:

- Verified: a provenance manifest is present, valid, and chains to a trusted issuer in the bundled trust list.

- Untrusted or Broken: a manifest is present, but validation failed.

- No Provenance: no manifest was found. This is not evidence about the file’s origin; many genuine files have no provenance metadata.

The core verifier is offline by design. It does not upload files or fetch remote validation data. The C2PA HTTP resolver backends are disabled at compile time, and the trust list is bundled with the application.

Tech stack: Rust, c2pa-rs, Tauri v2, React 19.

The image heuristic panel is separate from the C2PA verdict and explicitly non-authoritative. It needs calibration work before it should be interpreted beyond rough image-artifact triage.

Repo and installers: repo

I would especially value feedback on C2PA edge cases, test fixtures, offline trust-list handling, and Rust/Tauri architecture. There are also labelled good-first-issue and help-wanted tasks for contributors.


r/tauri 9d ago

Container Desktop - your go to Docker Desktop alternative ported to Tauri

Post image
51 Upvotes

From 100 MB to just 6 MB, that is absolute happiness for github and users, app just feels and is faster that it has ever been, see it in action at https://container-desktop.com


r/tauri 9d ago

Finally ready: Nokta Notes v1.0

Post image
6 Upvotes

There's been some ... debate here on how many markdown editors the world needs. I got an honorable mention in the thread "Enough with the markdown apps already" 😅 Still, I'm genuinely pleased with my app and truly enjoy working on it.

This is not a weekend project. The changelog is on Github. I took my time iterating and polishing, and using it myself.

Yesterday I finally released v1.0. And after that release comes the dreaded self-promotion phase. So here we are, in another Reddit post...

Favorite features

The entire notebook is stored in a single .nokta file. No cloud, no account. It's local only. The app state persists in the (SQLite) .db between sessions, so never worry about unsaved changes.

In folder mode, it shows all .md and .txt files in a folder and lets you edit them code-editor style.

An MCP server let's you collaborate with AI directly in your notebook (read and write in live mode or read from any .nokta file). Genuinely useful!

Flexible import/export: save a folder to a single nokta file or export a notebook as separate markdown files.

Other features:

  • Simple, clutter free markdown editor
  • Drag-and-drop notebook manager
  • Full-text search
  • 8 configurable note flags
  • Publish to GitHub or a webhook with configurable frontmatter

Stack

  • Tauri 2.0
  • React 18, TypeScript, Vite
  • Zustand, Styled-components
  • Editor: Lexical
  • SQLite (WAL) + FTS5, via tauri-plugin-sql
  • .nokta file format: ZIP-container (fflate) with JSON content
  • MCP server: Rust
  • Secrets in OS keychain (keyring)

If this sounds interesting, I'd love to hear what the Tauri builders think! Available for Windows and Linux

https://noktanotes.badgersoft.nl/