Zero Distance Architecture, One process where Data, Logic, and UI are co-located. Build as Self-Contained-System, Monolith or Microservices. Ᵽlanck makes the distance between them zero.
Four constants you'll feel in every line of code you write.
Your service compiles to a single .wasm that the DB loads into its own process. No separate app server, no deploy artifact other than the binary. The DB is your container.
Handlers query the embedded store through a typed query builder. No ORM, no socket, no JSON wire between code and data. Reads are direct memory access, predictably fast.
The same handler can render HTML fragments for a hypermedia frontend (HTMX, Alpine, Datastar, anything DOM-swapping), return JSON for a classic API, or stream raw bytes. The wire format is a choice you make per route.
WASM services can't open sockets. Cross-service work happens through SSE topics on the host bus, pub / sub, observable, no point-to-point coupling. Which is what you wanted at the service boundary anyway.
Everything you need to run the four constants in production. No assembly required.
Everything that used to be a separate service is now an in-process module.
One DB instance per bounded context. Each is a Self-Contained System - data, logic and ui in one process.
One DB instance, one .wasm, handlers across every domain. The classic monolith, but compiled to a tiny sandboxed binary, deployed in one step, with zero network hops between layers.
Same pattern as A, but handlers return JSON instead of HTML fragments. Everything still runs as WASM inside the database.
Forget tool inventories. The interesting comparison is how the layers of a typical web application stack are wired together and what that wiring costs.
.wasm per bounded context. .wasmFull reference: Getting Started