As part of the TaRDIS project’s efforts to enable trustworthy and adaptive decentralised intelligence at the edge, we are proud to present Nimbus — a newly developed decentralized storage system designed for resilience, locality, and autonomy in swarm-based architectures.
The Problem with Centralized Storage
Traditional distributed applications often rely on centralized or server-based storage to synchronize state across devices. While effective in stable, well-connected environments, this approach struggles in:
- Poor connectivity scenarios (e.g. remote or volatile environments)
- Geographically constrained use-cases, where data should remain local
- Decentralized systems where global infrastructure is impractical or undesirable
Nimbus addresses these challenges by removing the need for any dedicated infrastructure and instead storing and synchronizing data directly across participating devices.
What is Nimbus?
Nimbus is a fully decentralized, infrastructure-free storage layer where:
- All data is stored locally on devices (e.g. laptops, Raspberry Pis)
- State is synchronized peer-to-peer using Conflict-Free Replicated Data Types (CRDTs)c through an extensive data model
- Modular and flexible architecture for various scenarios
- No central server is needed—every node contributes to propagation and consistency
It provides a key-value store interface with support for complex data types (e.g. counters, sets, maps) and offers native support for large scale and real-time updates across devices.
Key Features include:
- Peer-to-peer architecture: No centralized server or coordination required
- Scalable synchronization via CRDTs and partial replication
- Flexible keyspace and collection model for organizing application data
- Modular architecture through pluggable components
- Web-based API and UI integration
- Support for federated learning scenarios
- Robust even in highly dynamic or unreliable networks
Demonstration: A Decentralized Web App
To demonstrate Nimbus in action, the TaRDIS team built a presentation evaluation web application that runs entirely over a local network in heterogeneous devices. The architecture includes:
- A React-based frontend for the application
- A REST API and WebSocket layer to communicate with Nimbus
- Multiple Raspberry Pis, laptops and mobile devices acting as independent, synchronized nodes
The app allows users to create and review presentations, submit questions (with upvotes or ratings), and see updates propagate in real-time across devices — even as data is generated autonomously from other nodes.
Real-World Applications
Nimbus is designed to be application-agnostic and can be easily integrated into any TaRDIS work package or swarm scenario, including:
- Collaborative edge applications
- Local-first data processing
- Federated learning, where each node contributes to a shared model
- Swarm-based decision-making systems with partial knowledge propagation
Open Source and Available Now
Nimbus is open source and available through the TaRDIS CodeLab repository. Developers and researchers are encouraged to explore, extend, and integrate the system into their own decentralized applications.
👉 Explore the code and documentation on TaRDIS CodeLab.
Watch demo on our YouTube channel or here below: