Over the past few months I shipped 6 free productivity utilities for Windows, all built with Tauri v2 + Rust + React 18 + TypeScript. Here's what the suite looks like and what I learned building it.
The Apps
All 6 are live on the Microsoft Store under my publisher name Illusanato:
| App | What it does | Link |
|---|---|---|
| 🐢 WhySlowPC | System Monitor & slow-down analyser | Download |
| 🌐 NetDiag | Network diagnostic & speed tester | Download |
| 🖨️ PrintFix | Printer troubleshooter & fix tool | Download |
| 📁 FileMemory | Smart file search & recent-files manager | Download |
| 🔄 SmartReboot | Safe scheduled restart with open-app detection | Download |
| ⌨️ UniversalKeys | Global keyboard shortcut manager | Download |
Why Tauri Instead of Electron?
I've used Electron extensively (my SA ERP project is built on it), but for these utility apps I needed something lighter:
- Bundle size: Tauri apps ship at ~3–8 MB vs Electron's 100+ MB
- Memory: Tauri uses the system WebView (WebView2 on Windows), not a bundled Chromium
- Rust backend: Native performance for system calls — reading CPU metrics, querying printers, scanning files
The Stack
Frontend: React 18 · TypeScript · Vite · Tailwind CSS
Backend: Rust (Tauri v2 commands)
Packaging: MSIX via Tauri bundler → Microsoft Store
Key Tauri Concepts
Tauri commands let you call Rust functions from the React frontend:
#[tauri::command]
fn get_cpu_usage() -> f64 {
// system metrics via sysinfo crate
let mut sys = System::new_all();
sys.refresh_cpu();
sys.global_cpu_info().cpu_usage() as f64
}
import { invoke } from '@tauri-apps/api/tauri';
const usage = await invoke<number>('get_cpu_usage');
What I'd Do Differently
- Share more Rust utility code across apps from the start — I ended up duplicating window-management helpers
- Use Tauri's updater plugin for auto-updates instead of relying on MS Store updates alone
- Add more telemetry (crash reports) — diagnosing Windows-specific bugs without user logs is hard
Try Them
All apps are free, no account required. If you're on Windows, give one a try and let me know what you think in the comments!
Top comments (0)