CompressorX
A fast, lightweight desktop video compressor built with Tauri, Rust, and TypeScript.
3 days
6 Tech

Project Overview
CompressorX is a cross-platform desktop application designed to simplify video compression. Built using Tauri (Rust) and a TypeScript + Tailwind CSS frontend, it delivers high performance and a smooth user experience—without requiring any command-line knowledge or internet access.
The app runs entirely offline, leveraging FFmpeg under the hood via Rust bindings. It supports drag-and-drop input, real-time compression stats, resolution and bitrate customization, and a clean, dark-themed interface. I built it to solve my own media compression workflow while exploring desktop development with Tauri.
Instead of relying on web-based compressors or bloated tools, CompressorX offers a native experience with minimal overhead. Every aspect of the compression pipeline, from file handling to FFmpeg invocation, is handled locally through Rust—ensuring speed, efficiency, and user control.
Key Features
🎥 Drag & Drop video support
📊 Real-time progress tracking
🎯 Resolution presets (Original, 720p, 480p, 360p)
⚙️ Advanced settings (bitrate, buffer size)
🌙 Modern dark-themed UI
📈 Detailed compression stats
📁 One-click access to output files
🦀 Built entirely in Rust for performance
🎬 Bundled with FFmpeg (no external installs)
💻 Runs offline — currently Windows-only (x64)
Challenges
Bridging Rust with frontend TypeScript using Tauri
Integrating FFmpeg with native Rust bindings
Designing a clean and intuitive UI for technical users
Handling cross-platform desktop packaging and testing
Ensuring fast local-only performance without bloat
Key Learnings
Cross-platform desktop development with Tauri
Rust's system-level performance and safety advantages
Tailwind + TypeScript workflow for desktop UIs
Working with FFmpeg programmatically
Binary integration and local processing pipelines
Clear technical documentation for user onboarding
Tech Stack
Timeline
Started
April 18, 2025
Completed
April 21, 2025
Total Duration
3 days