DEV Community

Vibhanshu Garg
Vibhanshu Garg

Posted on

πŸš€ Introducing MemCloud β€” Pool Unused RAM Across Machines on Your LAN (Rust, Zero-Config)

Hey DEV community! πŸ‘‹

I’ve been working on a side project that turned into something surprisingly useful, fun, and very Rust-y.

Meet MemCloud β€” a distributed in-memory data store that lets multiple machines on your LAN pool their RAM into a single ephemeral β€œmemory cloud.”

MemCloud Diagram

Use case: Have a Mac, a Linux machine, and a spare mini-PC sitting around?

MemCloud turns them into one big RAM cache β€” automatically.


πŸ’‘ Why I Built This

I often run ML experiments, dev servers, and log processors that overflow RAM on one machine while another machine sits idle right next to it.

I wanted a tool that:

  • works offline
  • runs locally
  • requires zero configuration
  • discovers peers automatically
  • lets me store/load data across devices in milliseconds

So I built MemCloud, a tiny Rust daemon + CLI + SDKs that create a peer-to-peer RAM mesh on your LAN.


⚑️ Key Features

πŸ•ΈοΈ P2P RAM Pooling

Every memnode contributes its RAM to the cluster.

A write on Machine A can be read from Machine B in under 10ms.

πŸ” Zero-Config Discovery (mDNS)

Just start the daemon β€” peers auto-discover each other.

No IPs, no ports, no YAML files, no Kubernetes.

🌐 Works Fully Offline

No cloud. No accounts. No central server.

⛓️ CLI + SDKs

  • memcli for terminal workflows
  • Rust SDK for systems work
  • TypeScript SDK for JS/Node devs

πŸ”‘ Two Storage Modes

  • Block Store: raw bytes & streams
  • Key-Value Store: Redis-style set / get

🧱 Architecture

You can view the architecture diagrams here:

➑️ https://github.com/vibhanshu2001/memcloud/blob/main/ARCHITECTURE.md

Each node runs a small daemon (memnode).

SDKs and CLI talk only to the local daemon.

The daemon handles routing and storage across peers.


βš™οΈ Installation

Quick Install (macOS & Linux)

curl -fsSL https://raw.githubusercontent.com/vibhanshu2001/memcloud/main/install.sh | sh
Enter fullscreen mode Exit fullscreen mode

πŸ› οΈ Build from Source

git clone https://github.com/vibhanshu2001/memcloud.git
cd memcloud
cargo build --release
Enter fullscreen mode Exit fullscreen mode

πŸ‘¨β€πŸ’» Open Source

GitHub: https://github.com/vibhanshu2001/memcloud

Docs: https://memcloud.vercel.app/
NPM: https://www.npmjs.com/package/memcloud


I’d love feedback on:

  • performance ideas
  • networking improvements
  • memory/eviction strategies
  • real-world use cases

Thanks for reading!

β€” Vibhanshu

Top comments (0)