aquameta.

Aquameta · built entirely in PostgreSQL

The all-database web platform.

Your schema, your code, your interface, your version control — all of it, rows in one PostgreSQL database.

// the stack collapses into the database

01

There is no stack.

A conventional application stacks layers — code on a framework, on a runtime, on a database. Aquameta removes the layers. The framework becomes SQL functions, the runtime is the database engine, and the application is rows in tables.

Conventional
Application
Framework
Runtime
Database
Aquameta
PostgreSQL
02

Five ideas, and the rest follows.

Aquameta is unusually teachable from first principles. Hold these five and the whole system stops being surprising.

01 — shapes

Three shapes

Every piece of data is rows (zero or more), a row (exactly one), or a field (a single value). The API speaks these everywhere.

02 — change

Three operations

A row is created, a row is deleted, a field is modified. That is all that ever happens to data — even schema changes, because schema is data too.

03 — history

Two version controls

Git tracks the SQL that defines the system. Bundle — a git for rows — versions everything that lives inside the database.

04 — closure

One plane

Schema, code, UI, and the editor itself are all data. There is no outside: the system can query and rewrite itself.

05 — self-hosting

It runs on itself

The HTTP layer, the filesystem, the IDE — each lives in the very database it operates on.

Read the concepts

The mental model, in full.

03

This isn’t a metaphor.

The documentation you’re about to read is generated live by querying the database’s own catalog — structure reflected, prose layered on, served by the platform documenting itself.