Case Study
Decile – decentralized file manager
A decentralized, offline-first, peer-to-peer file management and sync system with a user-friendly mobile app and Drive-like web/desktop UI. Fully encrypted with no single point of failure.
RustSwiftTypeScriptTauriNext.js
Problem & Context
Traditional cloud storage services create vendor lock-in, privacy concerns, and single points of failure. Decile reimagines file sync as a truly decentralized system where users own their data and can sync directly between devices or through optional server assistance—all while maintaining the ease of use people expect from modern file managers.
Key Features
- Content-aware deduplication: Automatically detects duplicate files across devices, saving storage and bandwidth.
- Semantic search: Instant search across millions of files with intelligent indexing and content understanding.
- Transactional sync previews: See what will change before syncing, with rollback capability.
- True P2P sync: Devices can sync directly or use optional server-assisted routing for NAT traversal.
- Native iOS app: Full File Provider integration with background sync and seamless integration with iOS file system.
Implementation
- Rust sync engine: High-performance, memory-safe core handling encryption, deduplication, and sync logic.
- Swift iOS app: Native File Provider extension enabling background sync and system-level file access.
- Tauri desktop app: Lightweight, secure desktop experience with native performance and small bundle size.
- Next.js web UI: Drive-like interface for web and desktop with real-time sync status and file management.
- End-to-end encryption: All data encrypted client-side before leaving the device.
Technical Highlights
- Rust-based sync engine with efficient conflict resolution
- iOS File Provider API integration for seamless system integration
- WebRTC for direct peer-to-peer connections
- Content-defined chunking for deduplication
- Incremental sync with delta compression
Outcomes
Decile demonstrates that decentralized file sync can be both powerful and user-friendly. By combining robust Rust engineering with thoughtful UX design, it provides a viable alternative to centralized cloud storage that puts users in control of their data.