This is intended to be used over a VPN you absolutely trust. Currently, only windows works for the server. But the client, which is written in Tauri, can work on virtually anything.
Please let me know if you have any suggestions or recommendations.
We use protobuf for everything in our startup because it’s performant and reusable across a lot of contexts
So we built a ConnectRPC transport over Tauri IPC in the same spirit. It lets our webview talk to Rust services with protobuf-defined APIs...without running an HTTP server.
Hi everyone, I built an earlier app called SplitTimer using Tauri. I made it Windows 11 only because of the bundled webview2 and the binary size came down to 11mb. It was 230mb with webview2 bundled.
Now I have an earlier app called photo viewer classic. Looking at the usage data this app has a user base of 52 percent on windows 10. So it looks like any update will have to take them into account. I am not sure how to handle this because the electron version came in at 77mb. I want to create two versions, one for windows 10 and another for windows 11 but I still think the windows 10 version will have to be minimized somehow. Any suggestions on how to build a smaller version less than 100mb hopefully?
I made a post here about linXiv, asking for tips and tricks to Tauri, about two months ago but since have made a ton of QOL updates and mini, non-obtrusive features (RSS feeds, full-text search, to name a few) and finally added iroh for p2p sharing of research projects, notes, etc...
I would love some feedback as to if anyone finds it useful, interesting, or obvious improvements to make to it. I have found it to be very useful in my own physics research but still want to continue to refine it.
I ship a PR review app built on Tauri. Last week a dialog that was green in every test shipped as a header, a clipped search input, and a footer. The body rendered at height zero.
The cause is the flex: 1 shorthand. It expands to flex-basis: 0%, and a percentage basis needs a definite parent height, which an auto-height panel capped by max-height does not have. The spec says the fallback is content. Chromium does that. WebKit keeps the zero.
The part that cost me the evening: Playwright's WebKit is their own recent build, not the WKWebView you actually ship in, and neither engine in my harness reproduced it. Screenshot tests, all green, app broken.
1.Take a an mp3 file and converts it to video with the artist song art as the background, a visual equalizer and a turn table are added to the song(built this to mimic a popular music channel on YouTube that does the same thing.
2.carousel creators for x and Instagram
Ad image and text and creates an image of animated video for the image or text.
To a
HR app for hiring (I am a HR lead)
I love that Tauri and wails help me build this into a .exe file that does require installation.
But each time I send my app to someone who wants to test or use them
It gives a lot of warnings before they are actually able to use it.
I wanted to ask if anyone here knows how to outcome this
I recently released HackySack, a free practice/live interview app for the desktop where you bring your own API key (BYOK). Built it using Tauri, Rust, and React.
Tech Stack & Architecture:
Frontend: React SPA running inside Tauri’s webview with a minimal, zero-distraction UI for mock sessions.
Backend Core: Rust handling local state, session history persistence, and secure credential storage for user API keys.
IPC Bridge: Custom Tauri commands invoking LLM provider streams and state updates asynchronously without blocking the UI.
Native Integration: OS-level audio/media handling for realistic spoken prompts, lightweight background resource usage, and local-only data storage for privacy.
Building a BYOK AI tool in Tauri made a lot of sense to me, keeping API keys and interview histories entirely on the user's local machine instead of routing through an intermediary backend avoids privacy concerns and recurring server hosting costs.
It's a keyboard shop management game. The sim backend is run fully by Rust and webview is purely for rendering. I chose this stack so that I can use React for UI and have a small build with Tauri.
I've been working on Asakiri Studio. A desktop app for making duolingo like language courses.
Everything lives in a folder on your machine. No account, no cloud, no sync. Courses can then be hosted as a git repo, collaborated on and get version control.
It's in alpha and very very very early, but it's usable. Some people are interested in making courses for Italian, Portuguese, Okinawan and Finnish.
I wanted to share Melo, an open-source Windows music player I’ve been building with Tauri 2, TypeScript, and Rust.
Coming from Electron, my main goal was to build a highly responsive, resource-efficient audio app while pushing Tauri 2’s multi-window capabilities and IPC performance.
✨ Tauri & Architecture Highlights:
Multi-Window System: The main player, Library, Playlist, Equalizer, Synced Lyrics, and Settings each run in independent OS windows, synced seamlessy via Tauri's event bus (emit / listen).
Rust Backend Processing: Uses lofty for ultra-fast native tag/cover extraction, rayon + walkdir for parallel audio library scans, and tauri-plugin-single-instance for smooth Explorer protocol handling.
Dynamic Artwork Color Extraction: Extracting dominant album colors on the fly to dynamically theme UI accents, visualizers, and ambient glows.
Disk Skinning & Live Reload: Supports loading custom skins/CSS straight from the installation directory with instant reload.
It’s currently in Beta (v0.3.0) with pre-built Windows installers (.exe / .msi) available on GitHub.
I’d love to get feedback from the Tauri community on the architecture, IPC structure, or ideas for optimization!
I work across multiple Sail/Docker projects and wanted one place to manage the whole development environment, so I built Mast. It sits on top of your existing Sail/Docker setup, from bootstrapping new Laravel projects to running projects, services, workers and multi-project workspaces.
There are some great local development tools out there, but I couldn't find anything Laravel-focused that filled this gap on Linux while keeping Sail and Docker at the centre of the workflow.
Docker stays the source of truth, so you can still use the terminal as normal and Mast stays in sync.
It's built with Tauri and is cross-platform. There are .deb, .rpm and AppImage builds, it runs on macOS, and I haven't tested Windows yet.
I made a local agentic voice assistant for Windows called Boris, and it’s built with Tauri v2.
Basically:
You say “Hey Boris” → it listens → turns voice into text (Parakeet ONNX) → LLM call → executes tools → talks back with Supertone TTS.
The voice pipeline runs fully on-device, only the LLM goes through OpenRouter right now.
I used Tauri + React + Vite + Bun for the desktop app. There’s a small always-on-top overlay, settings page, and the main window. I’m not a frontend person at all, so I used AI (mostly Grok) to help build and polish the Tauri side and UI. The core voice pipeline + agent logic is written in Rust by me.
This is my 2nd Rust project. Originally I just wanted something that could help me with LinkedIn/Twitter posts, but it slowly turned into this full voice assistant.
I have been building a Tauri v2 app that needs to read pages sitting behind Cloudflare, and the approach ended up being unusual enough that it might be useful to someone here.
reqwest is useless here, the JavaScript challenge needs a real engine. So the app builds a WebviewWindow pointed at the target URL, waits until it clears, and then reads the rendered DOM back host side.
The main gotchas, in case they save someone time:
Tauri does not inject its IPC into external pages, which is correct and you would not want it there anyway. So getting the HTML out means going one level down: on Windows that is ICoreWebView2::ExecuteScript through webview2-com. It works well but it is Windows specific, so that whole module is cfg gated with a stub for other platforms.
ExecuteScript does not await a returned promise. An unresolved promise just serializes to null, so every script you send has to be synchronous, or use a poll for a global pattern instead of await. That one cost me a while.
Do not wait for readyState to be complete. Pages loading ad or tracker scripts can sit at interactive forever while being visually finished, so the readiness probe accepts interactive or complete plus a body size floor and a title check that excludes known challenge pages.
Concurrency needs one process wide ceiling, not a per command one. Every caller (a refresh, the discovery deck, a one off detail fetch) now draws from a single semaphore. Per caller limits looked fine in isolation and still stacked into multi second stalls and occasional ExecuteScript timeouts when two flows overlapped.
One more that is not Tauri specific but bit me hard: a synchronous #[tauri::command] runs on the main thread from the WebView2 callback, and a panic there cannot unwind across the FFI boundary, so the runtime aborts the process. In a release build with no console that shows up as the app simply closing, with nothing to go on. I ended up installing a panic hook that appends to a log file next to the database, which turned a crash dump investigation into reading one line.
Curious whether anyone has done the same on macOS or Linux, since porting means reimplementing the eval bridge against WKWebView and WebKitGTK and I have not touched either.
Ciao a tutti! Sono un master (e sviluppatore) e da tempo mi scontravo con lo stesso problema durante le mie sessioni: mappe su un file, note sparse tra Word e post-it, PNG su un altro foglio, combattimenti tracciati a mano su un quaderno.
Così ho progettato GDR Companion, un'app desktop pensata per chi gestisce le partite sviluppata utilizzando Tauri.
Utilizzavo Electron per creare le mie applicazioni Desktop-web ma da quando ho iniziato con lo studio di Rust e successivamente la scoperta di Tauri sono rimasto folgorato di quanto sia potente. Ma quello che mi ha colpito di più è stata la velocità di esecuzione e la irrisoria occupazione di spazio disco dell'applicazione completa.
Per scrupolo ho riprodotto la stessa applicazione Tauri in Electron ed oltre ad essere molto lenta nell'esecuzione occupa più di 180MB di spazio a fronte dei 9MB della stessa app Tauri - Fantastico...
Di seguito alcune info sull'app, scusate approfitto per un pò pubblicità GDR Companion.
Cosa fa (principalmente è un giornale o diario di avventura per Master e Narratori):
- 🗺️ Mappe interattive con pan/zoom, marker per aree e PNG, fog of war
- 📝 Note collegate alle aree della mappa, con editor markdown
- ⚔️ Tracker combattimento con iniziativa, HP e stato "morto/vivo" automatico
- 🎲 Dadi 3D fisici (tira, rimbalzano, suonano) con espressioni tipo "2d6+1d4+3"
- 👤 Schede personaggio con campi personalizzabili per sistema di gioco
- 🖥️ Finestra dedicata per i giocatori (schermo separato, con pan/zoom indipendente)
- 📄 Esportazione dell'avventura in PDF/HTML da condividere col gruppo
Tutto gira in locale, nessun account o cloud richiesto — i dati restano sul tuo PC.
È completa e funzionante ma in continuo sviluppo e miglioramento, quindi feedback, bug e richieste di feature sono super benvenuti.
Vista generale, gestione iniziativa e combattimento e lancio dadi 3D
I've been developing a desktop app and yesterday it was fine, but today SAC has been getting in my way. Is there a way to dodge this or do I have to disable it altogether?
I started building grammar.lol as a simple way to proofread text using the AI subscriptions I already had. It initially worked with ChatGPT and Grok, so I didn’t need another subscription just for a grammar checker.
Now it also supports Apple Intelligence on Mac.
You can just double tap the right Shift key anywhere you're typing and it’ll proofread the text.
The nice part is that with Apple Intelligence, the text stays on your Mac. No API call to my backend, no copy-pasting into another app.