🌍 Offline-first · Local-first · Resilient Web Runtime
Softadastra is a foundational web runtime designed to make the web work everywhere without relying on ideal conditions. It is offline-first and local-first, built around a robust synchronization engine (WAL, outbox, retries, conflict handling), secure peer-to-peer transport, and edge nodes for caching and store-and-forward.
The cloud is optional. It is never required for correctness.
Softadastra is not a product it is a foundation on which resilient systems can be built.
The modern web is built on fragile assumptions:
- permanent connectivity
- low latency
- centralized cloud availability
In reality, these assumptions fail not only in developing regions, but everywhere.
Softadastra starts from a different premise:
- networks are unreliable
- failures are normal
- local execution is mandatory
Applications built on Softadastra continue to function offline, accept local writes, and converge safely once connectivity returns.
- a foundational runtime, not a single app
- a system centered on durable state & synchronization
- designed for resilience by construction
- applicable to all environments, not a niche
- a frontend framework
- a cloud-first SaaS platform
- a degraded version of the web
See explicit boundaries: docs/foundation/non-goals.md
Softadastra is organized around a clear architectural center: the sync engine.
Four major layers work together:
- Runtime : local execution environment
- Sync Engine : WAL, outbox, retries, conflict handling
- Network : secure P2P transport, routing, relays
- Edge : caching and store-and-forward nodes
Start here: docs/architecture/overview.md
Softadastra is multi-stack by design.
Current reference stacks include:
- Vix.cpp : high-performance C++ runtime (HTTP, WebSocket, P2P)
- Ivi.php : optional bridge stack for adoption and integration
Other stacks may exist, as long as they respect the same primitives.
Products in the Softadastra ecosystem prove the foundation they do not define it.
Example:
- Softadastra Drive : local-first storage with resilient sync
Products are intentionally constrained and replaceable.
See: docs/ecosystem/products.md
Softadastra is an umbrella workspace that mounts its modules as Git submodules. You clone once, initialize submodules, then build only the modules you need.
- Git
- CMake 3.20 or newer
- A C++20 compiler (GCC, Clang, or MSVC)
git clone https://github.com/softadastra/softadastra.git
cd softadastra
git submodule update --init --recursive
cmake -S . -B build -DCMAKE_BUILD_TYPE=Release
cmake --build build -jModules are enabled explicitly via CMake options.
cmake -S . -B build -DCMAKE_BUILD_TYPE=Release \
-DSA_ENABLE_SYNC=ON \
-DSA_ENABLE_NET=ON \
-DSA_ENABLE_EDGE=OFF \
-DSA_ENABLE_ADAPTER_DESKTOP=OFF \
-DSA_ENABLE_ADAPTER_WEB=OFF \
-DSA_ENABLE_ADAPTER_BACKEND=OFFcmake -S . -B build -DCMAKE_BUILD_TYPE=Debug \
-DSA_BUILD_EXAMPLES=ON \
-DSA_BUILD_TESTS=ON
cmake --build build -j
ctest --test-dir build --output-on-failureMissing submodules:
git submodule update --init --recursiverm -rf build
cmake -S . -B build -DCMAKE_BUILD_TYPE=Release
cmake --build build -jSoftadastra is a long-term foundation effort.
- Roadmap:
docs/governance/roadmap.md - Contributions:
docs/governance/contribution.md
Architectural correctness comes before growth.
Softadastra values depth, clarity, and technical rigor.
- Communication:
docs/community/communication.md - Events:
docs/community/events.md
This repository is licensed under the Apache License 2.0.

