finds.dev← search

// the find

spacedriveapp/spacedrive

★ 38,163 · Rust · NOASSERTION · updated Apr 2026

Spacedrive is an open source cross-platform file explorer, powered by a virtual distributed filesystem written in Rust.

Spacedrive is an ambitious cross-platform file manager that layers a virtual distributed filesystem on top of your existing storage, syncing metadata P2P via Iroh/QUIC without a central server. It targets power users who want a unified view across local drives, external storage, NAS, and cloud providers. Think of it as a metadata layer and search index, not a replacement for Finder/Explorer.

- The tech stack choices are coherent and well-reasoned: BLAKE3 for content hashing, Iroh/QUIC for P2P (replacing an older libp2p approach), HLC-ordered leaderless sync, and OpenDAL for cloud storage abstraction — these are the right tools for the problem.

- Specta for auto-generating TypeScript types from Rust types is a genuine quality-of-life win that eliminates a whole class of API mismatch bugs between the Rust core and the React frontend.

- The adapter system for external data sources (Gmail, Obsidian, Slack, etc.) is pragmatically designed — a folder with a TOML manifest and a script that reads stdin and prints lines. Low barrier to write new adapters, no SDK lock-in.

- The .tasks/ directory contains detailed, numbered design documents for every subsystem (LSYNC, INDEX, NET, etc.), which is rare and genuinely useful for contributors trying to understand intent rather than just reading code.

- The FSL-1.1-ALv2 license is a real adoption blocker — it's not OSI-approved open source, it restricts commercial use for two years, and 'converts to Apache 2.0 after two years' is a promise, not a guarantee. Anyone building something on top of this needs to read the fine print carefully.

- Large chunks of the codebase are commented out in Cargo.toml (the old desktop Tauri crates, mobile core, cloud app), and the .tasks/ tree reveals the project is in the middle of a significant v2 rewrite. The gap between what the README describes and what's actually shipping in a stable form is unclear from the outside.

- The dependency on a git branch of specta (`branch = 'main'`) rather than a published crate version is a supply chain and reproducibility risk — if that branch force-pushes or the API changes, builds break without a clear diff.

- Mobile support (React Native + Expo) is structurally separate from the desktop (Tauri) and shares UI through a packages/interface layer, but the Android/iOS Rust bridge is listed as excluded from the workspace in Cargo.toml, suggesting mobile is significantly behind desktop in capability despite being listed as a first-class target.

View on GitHub → Homepage ↗

// want more like this?

We dig through GitHub every week and send a few repos picked for what you actually care about — each with an honest take like this one.

Get finds in your inbox → Search again →