ABOUT

The project, the person behind it, and the philosophy.

Anish Mulay

Creator & Maintainer

I built Sandstore because I couldn't find a hands-on way to learn distributed systems. Everything was abstract or theoretical. Sandstore provides a real, working distributed file system with Raft consensus, file chunking, and metadata replication. All implemented with clean, readable Go code that you can actually understand and modify.

Actively developed. 386 commits. Last updated March 2026.

Project Vision

Sandstore is a modular framework for building and experimenting with distributed storage architectures. Define your components, swap implementations freely, and explore how fundamental design decisions change the behavior of your system. Whether you are building file or object storage, whether metadata is colocated or separated, the framework stays the same. Spin up a real cluster in minutes with Docker and Kubernetes.

The next step is a second reference topology: a GFS-style disaggregated architecture with dedicated metadata servers and separate data nodes. After that, a FUSE client, additional placement strategies, and tooling that makes it easier for researchers to define and test new topologies without writing infrastructure from scratch.

The Philosophy

Read the code, not just the paper: Most distributed systems knowledge lives in papers that describe finished systems. Sandstore lets you run the ideas, not just read them.
Topology is a design decision, not a constraint: Every architectural choice has tradeoffs. Sandstore makes those tradeoffs visible by letting you swap the components that embody them.
Real infrastructure, real behavior: A toy implementation teaches toy lessons. Sandstore runs on Docker and Kubernetes, uses durable storage, and handles node failures. The lessons are real.

Get Involved

Sandstore is open source and actively developed. Whether you are exploring distributed systems for the first time or want to contribute a new topology implementation, there is a place for you here.