Spacedrive is a next-generation file manager that replaces traditional path-based file systems with a content-addressed, distributed filesystem (VDFS) built in Rust. It’s designed for users who own multiple devices and want to search, organize, and sync their data—files, emails, bookmarks, cloud storage, and more—without uploading to the cloud. Unlike conventional file explorers, Spacedrive treats files as first-class objects with immutable content identities, enabling deduplication, semantic search, and peer-to-peer sync while keeping all data locally controlled.
Built with a Rust core, Spacedrive uses BLAKE3 hashing for content identity, Iroh for peer-to-peer networking, and WASM extensions for extensibility. It supports desktop (Tauri), web, and mobile (React Native) clients, integrates with S3, Google Drive, Dropbox, and local sources like Obsidian and Notion via adapter scripts, and runs entirely on-device with encrypted secrets and no cloud dependencies.
What You Get
- Virtual Distributed Filesystem (VDFS) - Files are indexed by content hash (BLAKE3), not path, enabling cross-device deduplication and universal addressing via SdPath without copying data.
- Content-Aware Deduplication - Automatically identifies identical files across devices, drives, and cloud services (Dropbox, Google Drive, S3) using cryptographic hashing.
- Semantic Search with Reciprocal Rank Fusion - Combines full-text search (FTS5) and vector embeddings (LanceDB) to return both keyword-precise and contextually relevant results across all indexed data sources.
- Adapter Ecosystem - Script-based adapters (TOML + stdin/stdout JSONL) let you index any data source—Obsidian vaults, Chrome bookmarks, Slack messages, GitHub stars—without proprietary APIs.
- Transactional Action Preview - Simulate file moves, deletes, or syncs before execution to preview space savings, conflicts, and outcomes, with durable job queuing for interrupted operations.
- Local-First, No Cloud Dependency - Entirely runs on your machine; databases, vector indexes, and encryption keys stay local. No server required, no data leaves your hardware.
- Encrypted Secrets Store - Credentials for cloud services are stored using AES-256-GCM with Argon2id key derivation, with master keys secured in OS credential stores (Keychain, Credential Manager).
- AI Integration via Spacebot - Native Rust integration with AI agents (like Spacebot) for perfect recall of all your data—emails, notes, browsing history—without API calls or data exfiltration.
- Reference-Only Indexing - Files remain on their original storage; Spacedrive indexes metadata and content hashes, not copies, reducing storage overhead and preserving data sovereignty.
- P2P Sync with Iroh + QUIC - Direct device-to-device synchronization with automatic NAT traversal, no central server, no single point of failure, and offline-first operation.
Common Use Cases
- Managing files across multiple devices - A designer uses Spacedrive to search and access Photoshop files from their Mac, iPad, and NAS without uploading to Dropbox or Google Drive.
- Indexing personal knowledge bases - A researcher syncs Obsidian vaults, Notion pages, and PDFs into one searchable interface with semantic search to find notes across years of work.
- Securing cloud data access - A developer indexes their Google Drive and S3 buckets for local search, keeping credentials encrypted and never exposing raw files to third-party servers.
- Running AI agents on local data - A developer trains a local LLM to answer questions about their entire digital life—emails, code commits, browser history—using Spacedrive’s reference-indexed data as context.
Under The Hood
Architecture
- Clear DDD-inspired layers separating domain logic, CQRS operations, infrastructure concerns, and service modules, enforcing strong separation of concerns
- CQRS implemented via typed, auto-generated operations that unify RPC, FFI, and WASM interfaces through Specta, ensuring type consistency across platforms
- Dependency injection via Arc-wrapped services and runtime CoreContext enables modular substitution and seamless testability
- P2P sync logic decoupled through Iroh-based transport and device identity management, with domain-specific commands modeling real-world actions
- Job system features stateful context, interruptible execution, and checkpointing to support durable, resumable operations across platforms
- Unified JSON-RPC wire protocol over Unix sockets and FFI, with auto-registered operations eliminating boilerplate and ensuring interface consistency
Tech Stack
- Rust backend leveraging Axum, Iroh, and Quic-RPC for high-performance networking and peer-to-peer synchronization
- Tauri-based desktop app with React 19 and Vite for fast, responsive UI development
- Mobile support via React Native and SD-Mobile-Core, using async-channel and futures-concurrency for concurrent operations
- Monorepo managed by Bun and Turbo with isolated workspaces for server, CLI, desktop, and mobile modules
- Comprehensive tooling including Clippy, rustfmt, cspell, and Prettier with custom plugins for code consistency
- End-to-end type safety enforced via Specta for RPC contracts and serde/rmp for binary serialization across Rust and TypeScript boundaries
Code Quality
- Extensive test coverage spanning unit, integration, and edge-case scenarios including cross-device sync and race condition validation
- Clear separation of concerns with well-defined domains for operations, infrastructure, and services, enabling testable and decoupled components
- Robust error handling through structured logging, explicit state transitions, and comprehensive assertions instead of generic exceptions
- Strong type safety enforced across RPC, FFI, and WASM boundaries using Rust’s type system, serde, and Specta-generated types
- Consistent naming and modular organization following domain-driven design principles with explicit dependency boundaries
- Comprehensive testing of asynchronous workflows including event buffering, cross-platform volume detection, and realistic network simulations
What Makes It Unique
- Native Iroh-based P2P networking with device pairing and Spacedrop enables true decentralized, zero-configuration file sync without cloud intermediaries
- Virtual Distributed File System with entry-centric modeling and conditional UUIDs reduces storage overhead and improves sync efficiency by deferring metadata creation
- CQRS with auto-registered operations and Specta-generated types enables seamless interoperability across desktop, mobile, and WASM from a single Rust core
- Hardware-accelerated media proxy generation with dynamic FFmpeg pipelines adapts encoding to system capabilities while providing real-time performance feedback
- Inspector system built as composable variants with shared tab primitives enables extensible, type-safe resource views without conditional logic
- GlassButton with intelligent feature detection provides native frosted glass UI on modern platforms while gracefully degrading on older systems