How it’s built
The familiar web stack — ORM, framework, router, build tools — reappears here as a set of PostgreSQL modules. Each is tables, views, and functions.
Where a traditional stack has libraries, Aquameta has schemas. Each module is just rows and functions in the database.
One small process stands between the network and the database.
A lightweight daemon accepts HTTP requests and hands each one to the database as a query. It carries no application logic — the logic lives in SQL.
Its one clever move is identity. Every request runs as a real PostgreSQL role: the daemon maps a session to a role and routes the request through that role’s own connection pool. So current_user is always correct, which means row-level security and ordinary GRANT permissions simply work — no framework re-implementing auth on top of the database.
No build step between you and the running system.
Because code and interface are rows, you change them by changing data. Mount the database as files and edit a widget in your editor; the change is live on save. Version it with a bundle commit when you’re ready.
The reference documentation is the proof of the whole approach: query the catalog for structure, layer prose on top, serve it through the HTTP module that it documents.