Create, share, fetch and model Atomic Data! AtomicServer is a lightweight, yet powerful CMS / Graph Database. Demo on atomicdata.dev. Docs on docs.atomicdata.dev
This repo also includes:
- Atomic Data Browser, the React front-end for Atomic-Server.
@tomic/libJS NPM library.@tomic/reactReact NPM library.@tomic/svelteSvelte NPM library.atomic_libRust library.atomic-cliterminal client.fluttera Dart / Flutter client for Atomic Data, plus AtomicCanvas — a collaborative infinite drawing canvas that syncs peer-to-peer between devices.docsdocumentation / specification for Atomic Data (docs.atomicdata.dev).
Status: alpha. Breaking changes are expected until 1.0.
- 🏠 Local-first: create and edit data with no server at all. Resources are addressed by
did:adidentifiers and resolve peer-to-peer over the Mainline DHT, so an identity is a keypair you hold rather than an account on someone else's machine. Edits are signed CRDT commits that merge when you reconnect. - 🔒 Encrypted at rest, per agent: each agent's in-browser database is encrypted with XChaCha20-Poly1305, under a key wrapped by that agent's own private key. Signing out leaves the cache in place but unreadable to the next session — no wipe required.
- 🔑 Passkey-backed recovery: a WebAuthn passkey wraps the backup of your agent secret (Argon2id + AES-GCM), so onboarding hands you nothing to write down, and a lost device doesn't have to mean a lost account.
- 🚀 Fast (less than 1ms median response time on my laptop), powered by actix-web and redb
- 🪶 One self-contained binary (~70MB): server, web app, full-text search and database in a single file, with no runtime dependencies and nothing to install alongside it.
- 💻 Runs everywhere (linux, windows, mac, arm)
- 🔧 Custom data models: create your own classes, properties and schemas using the built-in Ontology Editor. All data is verified and the models are sharable using Atomic Schema
- ⚙️ Restful API, with JSON-AD responses.
- 🔎 Full-text search with fuzzy search and various operators, often <3ms responses. Powered by tantivy.
- ✨ AI with MCP support, use any model via OpenRouter or host your own with Ollama.
- 🗄️ Tables, with strict schema validation, keyboard support, copy / paste support. Similar to Airtable.
- 📄 Documents, collaborative, rich text, similar to Google Docs / Notion.
- 💬 Group chat, performant and flexible message channels with attachments, search and replies.
- 📂 File management: Upload, download and preview attachments.
- 💾 Event-sourced versioning / history powered by Atomic Commits
- 🔄 Real-time synchronization: instantly communicates state changes with a client. Build dynamic, collaborative apps using websockets (using a single one-liner in react or svelte).
- 🧰 Many serialization options: to JSON, JSON-AD, and various Linked Data / RDF formats (RDF/XML, N-Triples / Turtle / JSON-LD).
- 📖 Pagination, sorting and filtering queries using Atomic Collections.
- 🔐 Authorization (read / write permissions) and Hierarchical structures powered by Atomic Hierarchy
- 📲 Invite and sharing system with Atomic Invites
- 🌐 Embedded server with support for HTTP / HTTPS / HTTP2.0 (TLS) and Built-in LetsEncrypt handshake.
- 📱 Runs on mobile:
atomic_libcompiles into Flutter apps through flutter_rust_bridge, so phones get the same local-first store, signing and peer sync as the browser — not a thin REST wrapper. See/flutter. - 📚 Libraries: Javascript / Typescript, React, Svelte, Rust, and a Dart / Flutter client
Atomic.Data.Screencap.mp4
Check out the documentation for installation instructions, API docs, and more.
Issues and PRs are welcome! And join our Discord! Read more in the Contributors guide.