Skip to main content
Back to Projects
Tauri v2RustReactTypeScriptFFmpegmacOS

SimurghForge

SimurghForge is a universal file converter for macOS built with Tauri v2 (Rust backend + React/TypeScript frontend). It converts files across 49 formats spanning images, documents, audio, video, and structured data using 9 specialised conversion engines — 4 native Rust engines for maximum performance and 5 CLI-bridged engines for format breadth. All processing happens locally with zero cloud dependency.

01. Problem

File conversion typically requires uploading sensitive documents to cloud services, using multiple specialised tools, or installing bloated Electron apps. Users need a single, fast, privacy-respecting tool that handles all common formats locally.

02. Solution Overview

  • Built a three-tier engine architecture: native Rust (fastest), CLI tools (feature-rich), and Python (tabular data)
  • Implemented MIME-type detection via magic bytes for automatic engine selection
  • Designed batch orchestration with Tokio semaphore-based concurrency control
  • Shipped as a single .app bundle with quality presets (Low/Medium/High/Lossless)

Build

Tech Stack

Tauri v2 (Rust 1.77+)React 18TypeScriptViteTailwind CSS v4FFmpegLibreOfficePandocPython PandasImageMagick
  • 9 conversion engines: 4 native Rust + 5 CLI-bridged (FFmpeg, LibreOffice, Pandoc, Pandas, ImageMagick)
  • 49 supported formats across images, documents, audio, video, and structured data
  • Batch conversion up to 50 files with configurable concurrency (Tokio semaphore)
  • MIME-type detection via magic bytes for automatic engine routing

Secure

  • 100% local processing — zero network calls, no cloud dependency
  • MIME-based magic byte detection prevents extension spoofing
  • Path sanitisation for all file operations
  • Single .app bundle — no background services or daemons

03. Proof & Verification

Verified Claims

  • >49 formats supported across 5 categories (images, documents, audio, video, data)
  • >9 conversion engines with automatic routing based on MIME detection
  • >Batch processing up to 50 files with configurable threading (1-8 threads)
  • >Zero network calls — fully offline local processing

Project Links