Schema & Data Engine

Describe your data.
Skip the SQL.

The backbone of TotalApp's no-code side. Gives users a way to describe the data behind a screen or feature the platform doesn't ship out of the box, and guarantees every record written to it is deterministic and trustworthy — no SQL, no migrations, no code.

Custom Collections Server-Side Validation Tenant-Isolated Storage Clean-Data Gate
Custom Collections

Sketch a table.
Get a working data layer

Design your own data table — a "collection" — the way you'd sketch spreadsheet columns: name, fields, types, required flags. No developer, no migration script.

  • Add fields by name, type, and required/optional flag
  • No SQL, no schema migrations, no backend code
  • Collections show up instantly as usable screens
  • Edit the shape of your data any time as needs change
Build a Collection
totalapp.app / collections/new
New Collection — "Equipment Log"
asset_nameTEXTrequired
purchase_costNUMBERrequired
under_warrantyYES/NOoptional
statusCHOICEoptional
Server-Side Validation

Bad data never
reaches the disk

Every record is checked against your field rules before it's ever persisted. Bad rows are rejected with a clear, field-level error — not silently saved and cleaned up later.

  • Required fields, type checks, and choice-list constraints enforced server-side
  • Rejected writes return a precise, field-level error message
  • Validation can't be bypassed by the client — it runs on every write
  • Same guarantee whether the write comes from a user or an integration
See Validation in Action
totalapp.app / equipment-log
Write Log — "Equipment Log"
Record saved — all fields valid
Rejected — purchase_cost must be a number
Received: "unknown"
Rejected — asset_name is required
Field missing from payload
Record saved — all fields valid
Tenant-Isolated Storage

Every customer's data,
kept strictly apart

A dual-backend, tenant-scoped storage layer keeps every customer's collections and records separate and secure — by construction, not by convention.

  • Every read and write is scoped to the requesting tenant
  • Dual-backend storage supports both simple and high-scale tenants
  • Typed fields — text, number, yes/no, choice — enforced automatically
  • No cross-tenant query path exists in the engine
Learn About Isolation
totalapp.app / tenants
Tenant: acme-corp ISOLATED
Tenant: brightworks-ltd ISOLATED
Tenant: northgate-mfg ISOLATED
Clean-Data Gate for AI & Integrations

Trustworthy data,
every time it's read back

Because every record is validated on write, any AI agent or integration that reads a collection back gets data that's consistently shaped and trustworthy — no defensive parsing required.

  • AI agents can trust field types without re-validating
  • Integrations read consistently shaped records every time
  • Build a mini-CRM or a new module's data layer in minutes
  • Fast prototyping without a dev sprint
Prototype a Module
totalapp.app / ai-agent-read
Agent reading "Equipment Log"
3 records read — 0 shape errors
All required fields present, all types match schema. Safe to summarize and act on.
Fields the agent can trust
asset_name — always a string
purchase_cost — always a number
All Capabilities

Everything in the box

Schema & Data Engine ships everything needed to describe, validate, and serve custom data without writing a line of backend code.

Custom Collections

Design your own data table the way you'd sketch spreadsheet columns: name, fields, types, required flags.

Server-Side Validation

Every record is checked against your field rules before it's ever persisted; bad rows are rejected with a clear error.

Typed Fields

Text, number, yes/no, or fixed choice lists, each enforced automatically on every write.

Tenant-Isolated Storage

Dual-backend, tenant-scoped storage keeps every customer's data separate and secure.

Clean-Data Gate for AI & Integrations

Guarantees the data any AI agent or integration reads back is trustworthy and consistently shaped.

Fast Prototyping

Build a mini-CRM or a new module's data layer in minutes, not a dev sprint.