Technical Architecture
Kythia Convert is built on a modern, ultra-performant stack designed for minimal overhead and seamless Windows integration. Unlike traditional Electron apps, Kythia relies on Tauri v2 and Rust to keep RAM usage incredibly low (often under 20MB in the background).
Core Components
Section titled “Core Components”1. Tauri Frontend
Section titled “1. Tauri Frontend”The frontend configuration UI is built using React and TypeScript. It utilizes the native Windows WebView (Edge WebView2) for rendering, completely avoiding the Chromium overhead.
2. Rust Backend Engine
Section titled “2. Rust Backend Engine”The heart of Kythia Convert is written in Rust. It listens for conversion requests (via Tauri IPC from the frontend, or via headless context-menu invocation).
- Concurrency: Rust’s
tokioasync runtime allows the app to process dozens of files simultaneously across multiple threads. - Memory Safety: No crashes or silent memory leaks during massive 100+ file batch conversions.
3. FFmpeg Sidecar
Section titled “3. FFmpeg Sidecar”For complex video and audio transcoding, Kythia bundles a minimal ffmpeg binary. Rust securely orchestrates this executable in the background, reading the standard output to provide the user with real-time progress notifications.
The Context Menu Integration
Section titled “The Context Menu Integration”The most magical part of Kythia Convert is how it integrates with the Windows File Explorer.
When you install Kythia Convert, it registers a sophisticated set of registry keys in HKCU\Software\Classes.
Headless Execution
Section titled “Headless Execution”When you right-click a file and select a conversion target (e.g., “Convert to WebP”):
- Windows launches
kythia-convert.exein headless mode (passing the file path as an argument). - Because Kythia Convert uses a “Single Instance” lock, the new headless process forwards the file argument to the already-running background instance of Kythia via an internal pipe.
- The headless process instantly terminates, ensuring your screen isn’t cluttered with phantom windows.
Smart VBScript Highlighting
Section titled “Smart VBScript Highlighting”Once the main Kythia app finishes converting the batch of files, it needs a way to highlight the newly created files in the exact same File Explorer window you used to trigger the conversion.
To achieve this native experience:
- Rust generates a temporary
.vbs(VBScript) file encoded in UTF-16 LE. - The VBScript uses the Windows
Shell.ApplicationCOM interface to iterate over all open Explorer windows. - It finds the window matching your current folder, and instructs it to programmatically select (highlight) the newly converted files.
- The VBScript then securely deletes itself.
This results in a perfectly seamless, native UX that feels like it was built by Microsoft themselves.
