AGPL-3.0 · SELF-HOSTED

DATAMART

A structured information platform you run yourself — schema, access control, workflows and an admin UI in one binary, with your entries stored as files you own.

Flutter TS Python .NET HTTPS · JSON dmart — one binary, ~50 MB REST API ACL Schema MCP Admin UI Workflows WS Files on disk source of truth PostgreSQL / SQLite rebuildable index dmart import rebuilds the index from disk
  • ≤300MEntries Supported
  • 4Client SDKs
  • ~50 MBSingle Binary, No Runtime
  • 106 MBFull Stack, Idle

DMART in 30 seconds

◆ my_shop space /products /orders /customers /invoices schema product "name" string "price" number ≥ 0 "tags" [string] "photo" attachment ✓ every entry is validated { } product JSON entry photo.jpg attachment # order 1042 ticket · new dmart one binary files on disk product.json photo.jpg the source of truth PostgreSQL or SQLite · indexed A alice editor ? anonymous roles → permissions GET /orders GET /orders order 1042 ✓ allowed ✕ denied @payload.body.price:<50 @tags:sale Canvas tote sale 24 Desk lamp sale 39 Notebook set sale 12 3 matches REST API Python SDK TypeScript SDK Dart SDK C# SDK Admin UI MCP · AI agents Catalog dmart
  1. A space organizes your data into folders. A schema describes a valid entry, and dmart checks every write against it.

  2. JSON entries, files and tickets all go in. Each one lands as a plain file on disk and as an indexed row in PostgreSQL or SQLite.

  3. Roles and permissions are checked on every request, down to the folder, the action and the field.

  4. One query language searches everything you stored: filter on any field, sort, and page through the results.

  5. A REST API, SDKs for Python, TypeScript, Dart and C#, an admin UI, a catalog, and an MCP server for AI agents, all from one binary.

Core Pillars

Runs Where a Backend Normally Can’t

One self-contained binary, compiled ahead of time. No runtime to install, no container required, no separate frontend to deploy — the admin UI ships inside it.

Measured on a Raspberry Pi Zero 2 W with 416 MB of usable RAM, serving with PostgreSQL alongside it on the same board: 106 MB resident for the whole stack, ~14 ms warm reads, and four concurrent logins served with a bounded peak that is fully reclaimed. A 10-hour continuous write soak held memory flat — a plateau, not a slope — with no OOM and no thermal throttling. The same binary runs on a server.

106 MB
dmart + PostgreSQL, idle, of 416 MB
~14 ms
warm read, 5,000-entry fixture
0.6 GB/day
written under sustained load — ~460 yr on a 100 TBW card

Your Data Stays Yours

Files are the source of truth

Entries live as plain files on disk. The SQL store is a rebuildable index over them — copy the folder, rebuild the index anywhere, and you have your system back.

Standard formats, not a vendor schema

Payloads are JSON, constrained by JSON Schema Draft 7 and evaluated by a standard library. There is no dmart-specific type system to migrate out of.

Self-hosted, AGPL-3.0

Run it on your hardware, in your network, air-gapped if you need to. No per-seat pricing and no hosted service you depend on.

How It Works

  1. 01

    Define Your Space

    Create spaces and organize data into hierarchical folders — just like a file system.

  2. 02

    Store Anything

    Create entries with JSON payloads, attach files, add metadata. Schema-validated or free-form.

  3. 03

    Query & Discover

    Full-text search, filter by any field, sort, paginate. All through a consistent REST API.

  4. 04

    Integrate Everywhere

    Use official SDKs for Python, TypeScript, Dart, and C#/.NET. Or call the REST API directly.

Explore

Stop managing databases.
Start managing assets.